桶排序问题

Posted creative-work

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了桶排序问题相关的知识,希望对你有一定的参考价值。

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作,并对自己的程序进行复杂性分析。

 1 #include<iostream>
 2 using namespace std; 
 3 int main() 
 4 { 
 5      int N, n; 
 6      while (cin >> N) 
 7      {
 8           int a[1001] = { 0 };
 9          while (N--)
10          { 
11              cin >> n; 
12              a[n] = 1; 
13          }
14         for (int i = 0; i < 1001; i++)
15              if (a[i])
16         cout << i << endl; 
17        }
18        return 0; 
19 
20 }

 

以上是关于桶排序问题的主要内容,如果未能解决你的问题,请参考以下文章

桶排序图解与代码

桶排序和基数排序

[程序员代码面试指南]数组和矩阵问题-数组排序后相邻数的最大差值(桶排序思想)

桶排序就是这么容易

线性排序:桶排序计数排序

线性排序:桶排序计数排序