计数排序一般用于类似统计数组中元素出现次数。
条件:数组中的元素范围必须确定,如0~k。
基本思路:以被计数数组的元素值作为计数数组的索引(数组下标)对计数数组自增。
例题:统计输入的50个数据中出现最多的元素,元素范围在0~99。
例题代码:
1 #include<stdio.h>
2 int main()
3 {
4 int A[100]={0},i=50,x;
5 while(i--)
6 {
7 scanf("%d",&x);
8 A[x]++;
9 }
10 int max=A[0],flag=0;
11 for(i=0;i<50;i++)
12 {
13 if(max<A[i])
14 {
15 max=A[i];
16 flag=i;
17 }
18 }
19 printf("%d\n",flag);
20 return 0;
21 }
22