搜索
查看: 22627|回复: 25
打印 上一主题 下一主题

【啊哈!算法】算法1:最快最简单的排序——桶排序

[复制链接]
楼主
发表于 2014-2-23 12:42:34 | 显示全部楼层
本帖最后由 超神级 于 2014-2-24 07:39 编辑

不错回头再看!...
//修正:把程序一些错误修改。磊哥太大意了!程序没自己测试下...
//为了体谅些新人把不易理解的地方添加了一些注释。
#include <stdio.h>
int main()
{
    int a[11],i,j,t;
    for(i=0;i<=10;i++)
        {
        a=0;  //初始化为0
    }
    for(i=1;i<=5;i++)  //循环读入5个数
    {
        scanf("%d",&t);  //把每一个数读到变量t中
       a[t]++;  //进行计数,
                //用户输入的值是数组下标如果你输入1吧a[1]里面的值依然是0,
    }           //a[1]++;就是把吧a[1]里面的值加1,用一句话把这代码用处概况就是
                //把当前数组里面储存的值加1;

    for(i=0;i<=10;i++)  //依次判断a[0]~a[10]。;
        for(j=1;j<=a;j++)  //出现了几次就打印几次
            printf("%d ",i);//先把此处再次理解a[t]++;
            //详细分析下:为什么能实现排序呢。
                        //为什么需要11个数组呢!因为他只可以对10一下排序再大了就没对应的数组下标了!
           //重点来了!把数组从大到小遍历for(i=0;i<=10;i++)
           //for(j=1;j<=a;j++)  因为a的值是跟据输入的(参考a[t]++;)可能是1可能是2
           //这句话是判断里面的a的值是几!把当前数组下标i输出几次!

    getchar();getchar();
    //这里的getchar();用来暂停程序,以便查看程序输出的内容
    //也可以用system("pause");等来代替
    return 0;
}
//输入数据为
//23558


沙发
发表于 2014-2-23 23:19:23 | 显示全部楼层
本帖最后由 超神级 于 2014-2-24 07:36 编辑
  1. 话说你们真不地道...
  2. 修正:
  3. #include <stdio.h>
  4. int main()
  5. {
  6.     int a[11],i,j,t;
  7.     for(i=0;i<=10;i++)
  8.         {
  9.         a[i]=0;  //初始化为0
  10.     }
  11.     for(i=1;i<=5;i++)  //循环读入5个数
  12.     {
  13.         scanf("%d",&t);  //把每一个数读到变量t中
  14.        a[t]++;  //进行计数
  15.     }

  16.     for(i=0;i<=10;i++)  //依次判断a[0]~a[10]
  17.         for(j=1;j<=a[i];j++)  //出现了几次就打印几次
  18.             printf("%d ",i);

  19.     getchar();getchar();
  20.     //这里的getchar();用来暂停程序,以便查看程序输出的内容
  21.     //也可以用system("pause");等来代替
  22.     return 0;
  23. }
  24. 输入数据为
  25. 23558
复制代码

点评

已修改!  发表于 2014-2-24 00:48
板凳
发表于 2014-2-24 00:40:55 | 显示全部楼层
rosynirvana 发表于 2014-2-23 23:52
这里把0写成NULL是不合适的
NULL这个宏被创造出来的原因是用来表示它是一个指针,而不是一个整数
这里 ...

嗯!...            习惯了....
地板
发表于 2014-2-24 00:47:06 | 显示全部楼层
rosynirvana 发表于 2014-2-24 00:44
干脆把NULL忘掉
C++里不受待见,打的字还多

额!...恩恩
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表