ZeroJudge D190: Age Sort

同題:UVa 11462-Age Sort

給你某國家所有一歲以上 (含) 的人民的年齡。你知道該國沒有人活到 100 歲或更老。現在給你一個很簡單的工作,就是把所有的年齡由小到大排序。

範例測資

範例輸入範例輸出
EOF 輸入,每組測資以整數 N (0 < N <= 2000000) 開始,代表人數。下一行則有 N 個整數,代表他們的年齡。N = 0 代表輸入的結束,請勿處理這組測資。對於每組測資,印出一行以空白隔開的 N 個整數。這些整數為人民的年齡,由小到大排列。
5
3 4 2 1 5
5
2 3 2 3 1
0
1 2 3 4 5
1 2 2 3 3

解題思路

將需要排列的整數收到一個陣列裡,再使用Sort來進行排序,最後使用For迴圈從第0個資料到第N-1個資料依序輸出。

範例程式碼-ZeroJudge D190: Age Sort

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    cin.sync_with_stdio(0);
    cin.tie(nullptr);
    int N;
    while (cin >> N && N != 0)
    {
        vector<int>num;
        for (int i = 0; i<N; i++)
        {
            int tmp;
            cin >> tmp;
            num.push_back(tmp);
        }
        sort(num.begin(), num.end());
        for (int i = 0; i<N; i++)
        {
            cout << num[i] << " ";
        }
        cout << "\n";
    }
}

//ZeroJudge D190
//Dr. SeanXD

發佈留言