举个例子,有几堆苹果,按从大到小的顺序进行排序。
苹果个数分别是5,3,5,2,8;
想象11个桶,分别标明0…10(a(11)),
苹果有5个一堆的,就往4号桶放一个苹果,有8个一堆的,就往7号桶放一个,因为个数为5的有俩堆,所以4号桶就有两个苹果。然后输出桶的组号,也就是0到10的号码,有几个苹果输出几次。
“`
include
using namespace std;
int main()
{
int a[11]={0};//桶的数量无所谓只要大于排序个数就好
int k=0;
int t[5]={5,3,5,2,8};
for(int j=0;j<5;j++)
{
k=t[j];
a[k]++;
}
for(int m=10;m>=0;m--)
{
for(int n=1;n<=a[m];n++)
{
cout << m <<" ";
}
}
return 0;
}
“`