• 浙江大学PAT上机题解析之3-09. 队列中的元素排序


    给定一个队列,请用一系列合法的队列操作函数,包括:

    (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 <cstdio>
    #include <queue>
    
    using namespace std;
    
    int main()
    {
    	int N;
    	int t;
    	bool flag=false;
    
    	priority_queue<int,vector<int>,greater<int> >  q;
    	/*cin>>N;*/
    	scanf("%d",&N);
    	while(N--)
    	{
         /*  cin>>t;*/
    		scanf("%d",&t);
    	   q.push(t);
    	}
    	while (!q.empty())
    	{
    		if (flag)
    		/*cout<<" ";*/
    		printf(" ");
    		else
    		flag=true;
    		/*cout<<q.top();*/
    		printf("%d",q.top());
    		q.pop();
    	}
    	/*cout<<endl;*/
    	printf("
    ");
    
    	//system("pause");
    
    
    
    
    }


     

     

     

     

     

  • 相关阅读:
    java中equals与hashCode的重写问题
    关于java的二维码的生成与解析
    bootstrap的时间控件使用(双日历)
    Mysql表,列,库的增删查改
    关于js重名方法的先后调用问题
    javascript的比较运算符
    javascript的运算符
    JavaScript的数据类型
    javascript的基本语法
    MAP集合
  • 原文地址:https://www.cnblogs.com/ainima/p/6331243.html
Copyright © 2020-2023  润新知