啊哈!算法 學習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數組

相關文章
相關標籤/搜索