#include<iostream>
using namespace std;
int main(void)
{
int data[7]={329,457,657,839,436,720,355};
int temp[7][10]={0};//桶
int count[10]={0};//计数
int col;//列
int row;//行
int n=1;//通过对n乘10,来算数字的个十百位的数
int k=0;
int i;
while(n<=100)
{
for(i=0;i<7;i++)
{
col=((data[i]/n)%10);
row=count[col];
temp[row][col]=data[i];
count[col]++;
}
for(i=0;i<10;i++)
{
int j=0;
while(j!=count[i])
{
data[k++]=temp[j++][i];
}
count[i]=0;
}
n*=10;
k=0;
}
//输出正确顺序
for(i=0;i<7;i++)
{
cout<<data[i]<<" ";
}
return 0;
}
基数排序
最新推荐文章于 2023-04-13 11:24:26 发布