题目链接:点击打开链接
给定一个队列,请用一系列合法的队列操作函数,包括:
(1) int IsEmptyQ(Queue Q)
(2) void AddQ(Queue Q, ElementType item)
(3) ElementType DeleteQ(Queue Q)
将队列中的元素从小到大排序。
注意:不能直接通过数组下标直接访问队列(数组)中的元素。可以使用一个辅助队列。排序后的结果应存放在原队列中。
输入格式说明:
输入首先给出1个正整数N(<=105),表示队列中元素的个数。随后按入队的顺序给出N个整数(这里假设item为整型数字)。
输出格式说明:
在一行中输出排序后出队的序列。数字间以空格分隔,但末尾不得有多余空格。
样例输入与输出:
序号 | 输入 | 输出 |
1 | 10 9 4 6 1 8 3 7 0 2 5 | 0 1 2 3 4 5 6 7 8 9 |
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int>vec;
int temp,n;
cin >>n;//n个元素
do
{
cin >> temp;
vec.push_back(temp);//放入vector
} while (getchar()!= '\n');
sort(vec.begin(), vec.end());//排序
for (int i = 0;i < n - 1;i++)
{
printf("%d ", vec[i]);
}
cout << vec[n - 1];
//system("pause");
return 0;
}