GESP4级考试语法知识(计数排序-桶排序)
整数排列参考程序代码:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{int a[101],n,i,j,k;memset(a,0,sizeof(a)); //数组清0cin>>n; //输入数字个数for(i=1;i<=n;i++) {cin>>k; //输入一个数字,数字范围肯定在0~100 a[k]++; //与输入数字相同的数组下标的值计数 }for(i=0;i<=100;i++) //输出排序结果while(a[i]>0) //相同的整数,重复输出{cout<<i<<" "; a[i]--; //输出一个减少一个计数 } cout<<endl;return 0;
}
明明的随机数参考代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{int a[1001],n,i,m=0,x;memset(a,0,sizeof(a));cin>>n;for(i=1;i<=n;i++){cin>>x;if(a[x]==0) m++; //m为计数器,为去重后的数字个数a[x] ++; //将等于x的值,装入第x桶中 } cout<<m<<endl; //计数器最后数字为“去重”后的数字个数for(i=0;i<=1000;i++) //输出排序结果if(a[i]>0) cout<<i<<" ";cout<<endl;return 0;
}