/*3 完成函数f的实现,参数a为int数组的首地址,len为数组长度,
要求函数f能够将数组元素按照个位排降序,
同时要求使用的算法要保证排序稳定性。*/
#include<iostream>
using namespace std;
void f(int *a, int len)
{
int b[10][len];
int counts[10]={0};
int i;
for(i=0;i<len;i++)
b[a[i]%10][counts[a[i]%10]++]=a[i];
len=0;
int j;
for(i=9;i>=0;i--)
for(j=0;j<counts[i];j++)
cout<<b[i][j]<<" ";
for(i=9;i>=0;i--)
for(j=0;j<counts[i];j++)
a[len++]=b[i][j];
}
int main()
{
int a[10000];
int i,j,n;
cout<<"输入个数"<<endl;
cin>>n;
cout<<"输入每个元素"<<endl;
for(i=0;i<n;i++)
cin>>a[i];
cout<<"新排列的数"<< endl;
f(a,n);
}
C语言数据结构——元素按照个位排降序
最新推荐文章于 2024-04-22 22:58:48 发布