试题名称 队列中的元素排序
时间限制: 1 秒
内存限制: 10KB
问题描述
给定一个队列,请用一系列合法的队列操作函数,比如判断队列是否为空,入队操作,出队操作,将队列中的元素从小到大排序。
输入说明
输入首先给出1个正整数N(N<1000),表示队列中元素的个数。随后按入队的顺序给出N个整数。
输出说明
在一行中输出排序后出对的序列。数字间以空格分隔,但末尾不得有多余空格。
输入样例
10 3 6 4 8 7 2 9 0 1 5
输出样例
0 1 2 3 4 5 6 7 8 9
提示
可以使用一个辅助的队列,采用循环筛选法(即第一轮将最小的选出来,第二轮将次小的选出来,以此类推)
// 2024/12/29 OK
#include <bits/stdc++.h>
using namespace std;
int N;
vector<int> v;
int main()
{
cin >> N;
for (int i = 0; i < N; i ++) {
int tmp;
cin >> tmp;
v.push_back(tmp);
}
sort (v.begin(), v.end()) ;
int flag = 0;
for (int i = 0; i < N; i ++) {
if (!flag) {
cout << v[i];
flag = 1;
} else {
cout << " " << v[i];
}
}
return 0;
}