64,654
社区成员
发帖
与我相关
我的任务
分享
typedef unsigned char BYTE;
void PigeonholeSort(BYTE *array, int length){
int b[256] = {0};
int i,k,j = 0;
for(i=0; i<length; i++)
b[array[i]]++;
for(i=0; i<256; i++)
for(k=0; k<b[i]; k++)
array[j++] = i;
}
为什么不用int类型呢?b[array[i]]里面array[i]的元素不是int类型,是BYTE类型也就是unsigned char类型,怎么也可以用呢