void bucketSort(int arr[],int size)
{
int tempArr[10][SIZE] = {0};//桶
int max,loop,j=0;
int bitVal,base=1;
max = maxVal(arr,size);//数组中最大数字
while(base < max){//遍历各个数的位数
for(loop =0 ; loop < size; loop++){
bitVal = (arr[loop]/base) % 10;//取数字位数
tempArr[bitVal][j++] = arr[loop];
}
cpyToArr(arr,tempArr);//把桶中的数复制回数组
printArr(arr,size-1);//打印数组
base *=10;
j=0;//索引归零
}
}
int cpyToArr(int arr[],int temp[][SIZE])
{
int i,j,k=0;
for(i =0;i < 10;i++){
for(j=0;j<SIZE;j++){
if(temp[i][j] != 0){
arr[k++] = temp[i][j];
temp[i][j] = 0;
}
}
}
}
int maxVal(int arr[],int length)
{
int i,max = arr[0];
for(i=0;i < length;i++){
if(arr[i] > max){
max = arr[i];
}
}
return max;
}