桶排序问题

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了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 }

 

posted @ 2018-04-16 22:36  wanghaing  阅读(138)  评论(0编辑  收藏  举报