您的位置:首页 > 其它

基数排序

2015-08-14 21:17 309 查看




#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  鲜果联播