题目所在网址:https://www.luogu.com.cn/problem/P1059
本题为经典的桶排序。
本题桶排序的思想:将所给的数字映射到数组下标,由于数组下标唯一且有序,当你映射完,也就做完了排序和去重的工作。
附AC代码:
- #include<iostream>
- #include<cstring>
- using namespace std;
- bool num[1000 + 5];
- int main(){
- int n, temp, count = 0;
- memset(num, false, sizeof(num));
- cin >> n;
- for(int i = 0; i < n; i++){
- cin >> temp;
- if(!num[temp])count++;
- num[temp] = true;
- }
- cout << count << endl;
- for(int i = 0; i <= 1000; i++){
- if(num[i])cout << i << " ";
- }
- }