diff --git a/基数排序.cpp b/基数排序.cpp index b1eba0e..702a698 100644 --- a/基数排序.cpp +++ b/基数排序.cpp @@ -1,9 +1,9 @@ #include #include -#define N 14 //���鳤�� -#define D 14 //���λ�� +#define N 14 //数组长度 +#define D 14 //最大位数 -int GetDigit(int M, int i) //ȡ����M�ĵ�iλ�� +int GetDigit(int M, int i) //取整数M的第i位数 { while(i > 1) { @@ -16,13 +16,13 @@ int GetDigit(int M, int i) //ȡ����M�ĵ�iλ�� void RadixSort(int num[], int len) { int i, j, k, l, digit; - int allot[10][N]; //���������顷 + int allot[10][N]; //《分配数组》 - memset(allot, 0, sizeof(allot));//��ʼ�����������顷 + memset(allot, 0, sizeof(allot));//初始化《分配数组》 for(i = 1; i <= D; i++) { - //������Ӧλ�������ݣ������롶�������顷 + //分配相应位数的数据,并存入《分配数组》 for(j = 0; j < len; j++) { digit = GetDigit(num[j], i); @@ -31,7 +31,7 @@ void RadixSort(int num[], int len) k++; allot[digit][k] = num[j]; } - //�����������顷�����������ռ���ԭ������ + //将《分配数组》的数据依次收集到原数组中 l = 0; for(j = 0; j < 10; j++) { @@ -42,7 +42,7 @@ void RadixSort(int num[], int len) k++; } } - //ÿ�η��䣬�ռ����ʼ�����������顷��������һλ���ķ�����ռ� + //每次分配,收集后初始化《分配数组》,用于下一位数的分配和收集 memset(allot, 0, sizeof(allot)); } } @@ -58,5 +58,3 @@ int main() printf("\n"); return 0; } - -