啊哈!算法 学习1 排序 - 简单的桶排序

//排序10个0-100之间数字
        
        //定义int数组
        //这里生成包含101个个数数组是以为要对应输入的值 到对应到数组的index  譬如输入10 对应a[10]
        int a[101];
        //数组赋值 生成
        for (int i = 0; i < 101; i++)
        {
            a[i] = 0;
        }
        
        //声明变量
        int x;
        //循环输入10个数字
        for (int i = 0; i < 10; i++)
        {
            //读取输入值
            scanf("%d",&x);
            //输入值对应在数组里面位置的值+1
            if (x>100)
            {
                NSLog(@"请输入0-100之间的数字");
                i--;
            }else
            {
                //输入那个数字在数组中对应index的值+1 可以输入多个相同的数字
                //初始化是a[]中所有值为0
                a[x]++;
                NSLog(@"输入的第%d数字为:%d,还需要输入%d个数字",i+1,x,9-i);
            }
            
        }
        NSLog(@"数组从小到大排列为:");
        //循环读取数组里面的数字
        for (int i = 0; i<101; i++)
        {
            //如果数组对应位置的值大于1 则输入值为当前数组的index
            //for是为了判断当前数组index输入了几次
            for (int j = 1; j <= a[i]; j++) {
                NSLog(@"%d",i);
            }

        }
        
         NSLog(@"数组从大到小排列为:");
        
        for (int i = 100; i>=0; i--)
        {
            for (int j = 1; j <= a[i]; j++) {
                NSLog(@"%d",i);
            }
    
        }

 demo

posted on 2015-02-27 15:02  三十一  阅读(233)  评论(0编辑  收藏  举报

导航