同題: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