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