個人部落格:double.win
題目描述 Description
實現從小到大排序。
輸入描述 Input Description
第一行一個整數n
第二行:n個整數,每個用空隔隔開。
輸出描述 Output Description
從小到大依次資料,每行一個,共n行。
樣例輸入 Sample Input
6
1
2
5
4
3
2
樣例輸出 Sample Output
1
2
2
3
4
5
1 #include <iostream> 2 using namespace std; 3 const int MAXN = 100000; 4 const int k = 1000; // range 5 int a[MAXN], c[MAXN], ranked[MAXN]; 6 7 int main() { 8 int n; 9 cin >> n; 10 for (int i = 0; i < n; ++i) { 11 cin >> a[i]; 12 ++c[a[i]]; 13 } 14 for (int i = 1; i < k; ++i) 15 c[i] += c[i-1]; 16 for (int i = n-1; i >= 0; --i) 17 ranked[--c[a[i]]] = a[i];//如果是i表達的是原數標號,a[i]就是排序後的正確序列 18 for (int i = 0; i < n; ++i) 19 cout << ranked[i] << endl; 20 return 0; 21 }