码迷,mamicode.com
首页 > 编程语言 > 详细

桶排序

时间:2016-07-31 11:39:54      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

有天小诺和女友小馨在黄山的情人谷发现了8块小石头,上面分别写有数字5,2,1,2,4,7,8,7小馨让小诺用计算机编程给他这些石头排排序。输出结果是1,2,2,4,5,7,7,8

小诺思考了一下,这些数字都是小于9的,我就用个数组来记录这些数,数组下标记录这8个数,数组值记录该数出现的次数,然后依次输出数组下标。比如a[2]=2表示2出现了两次,a[5]=1表式5出现了一次,a[7]=2表示7出现了2次。

 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     int t;
 6     int a[10];       //由于数小于9所以开一个最大下标为9的数组
 7 
 8     for(int i=0;i<10;i++)   //数组初始化为0
 9     {
10         a[i]=0;
11     }
12 
13     for(int i=1;i<=8;i++)    //循环读入8个数
14     {
15         scanf("%d",&t);       //每个数读入变量t中
16         a[t]++;               //数组下标是读入的数值,数组值是记录该数出现几次
17     }
18 
19     for(int i=0;i<=10;i++)
20     {
21         for(int j=1;j<=a[i];j++)  //a[i]等于几就出现几次,就打印几次,
22         {
23             printf("%d ",i);
24         }
25     }
26 
27     return 0;
28 }

 

桶排序

标签:

原文地址:http://www.cnblogs.com/misamisa/p/5722598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!