欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简化版桶排序

程序员文章站 2022-03-23 14:20:38
...
//简化版桶排序 啊哈算法 P6
#include <iostream>
#include <cstring>
#include <cstdio>
#define N 1001
using namespace std;

int main()
{
    int n, i, j;
    int t;
    int book[N];
    //初始化数组 使用memset (仅用于初始化为0或赋极大值)或循环
    memset(book, 0, sizeof(book));
    /*for(i = 0; i <= N; i++)
    {
        book[i] = 0;
    }*/
    cin >> n;
    for(i = 1; i <= n; i++)
    {
        scanf("%d", &t);
        book[t]++; /*进行计数 对编号为t的桶放一个小旗子*/
    }
    for(i = 0; i <= 1000; i++)
    {
        for(j = 1; j <= book[i]; j++)/*出现几次就将桶的编号打印几次*/
        {
            cout << i << " ";
        }
    }

    cout << endl;
    //getchar(); getchar();
    return 0;
    /*使用 10
     8 100 50 22 15 6 1 1000 999 0
     进行验证
     结果为排序号的数
     */
}