桶排序之P1271选举学生会
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,t=0,a[1000],n,m; /*n是候选人数量,m是选票的数量*/
scanf("%d %d",&n,&m);
memset(a,0,sizeof(a)); /*这一步是**初始化数组a***/
for(i=1;i<=m;i++) /*循环输入**m(选票总数)**,并开始**桶**排序*/
{
scanf("%d",&t); /*目的是输入***选票上的候选人编号****/
a[t]++; /*标记该桶,并对**该桶(候选人编号)**里放个小旗子(选票)*/
}
for(i=1;i<=n;i++) /*依次判断编号1~n的桶(候选人编号)*/
for(j=1;j<=a[i];j++) //出现了几次就打印几次该桶的编号//,//或者说, 该候选人编号有几张选票,就打印几次该候选人编号//
printf("%d ",i);
getchar();getchar(); //这里的getchar(),目的是用来暂停程序,便于查 看程序输出的内容//
return 0;
}
摘选之洛谷深基9P1271选举学生会,第一次写文章,还希望来的朋友能点个赞鼓励一下,谢谢.