桶子算法
#include <iostream>
using namespace std;
int main(){
?int lsd,i,j,k,n;
?n=1;
?k=0;
?int str[10]={91,20,33,45,6,87,7,3,55,15};
?int temp[10][10]={0};
?int order[10]={0};
??? cout<<"沒排序之前/n";
?for (i=0;i<10;i++)
?{
??cout<<str[i]<<"? ";
?}
??cout<<endl<<endl;
?while (n<=100)
?{
??for (i=0;i<10;i++)
??{
???lsd=(str[i]/n)%10;
???temp[lsd][order[lsd]]=str[i];
???order[lsd]++;
??????? }
??for (i=0;i<10;i++)
??{
???if (order[i]!=0)
???{
????for (j=0;j<order[i];j++)
????{
?????????????????????? str[k]=temp[i][j];
??????k++;
????}
???}
???order[i]=0;
??}
??????? k=0;
??n*=10;
?}
? cout<<"桶子排序后!/n";
? for (i=0;i<10;i++)
? {
??
?? cout<<str[i]<<"? ";
? }
??????????? cout<<endl;
?return 0;
}
總結(jié)