C++ STL排序後去重函式
阿新 • • 發佈:2018-12-19
陣列排序
(100/100 分數)
題目描述
輸入n個數,對這n個數去重之後排序,並輸出從小到大排序結果
(友情提示:去重函式unique
排序函式sort
具體函式使用規則請查閱相關文件)
輸入描述
首先輸入n,然後接著輸入n個數。其中1<=n<=100,每個數的範圍1<=x<=n
輸出描述
輸出去重之後從小到大排序結果
樣例輸入
5 1 3 2 1 3
樣例輸出
1 2 3
排序後去重,這個要自己實現也很容易,用一個輔助陣列就行,這裡用unique函式,注意返回值
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N = 100000; int a[N + 5]; int main() { int n; cin >> n; for (int i = 0; i < n; ++i) { scanf_s("%d", &a[i]); } sort(a, a + n); n = unique(a, a + n) - a; //關鍵的一句 for (int i = 0; i < n; ++i) { printf("%d\n", a[i]); } return 0; }