題目敘述
題目採EOF收資料直到N=0終止,每筆資料第一行會有一個正整數N,下一行會有N個整數。要求將這N個整數排序後由小到大輸出。
範例輸入
5
3 4 2 1 5
5
2 3 2 3 1
0
範例輸出
1 2 3 4 5
1 2 2 3 3
解題思路
將需要排列的整數收到一個陣列/Vector裡,再使用Algorithm中的sort來進行排序,最後使用For迴圈從第0個資料到第N-1個資料依序輸出。本題即使不使用cin加速/scanf也可以AC。
解題程式碼如下 (僅供參考):
#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";
}
}
留言
張貼留言