queue 的使用

Posted bjxqmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了queue 的使用相关的知识,希望对你有一定的参考价值。

题目描述

http://acm.hdu.edu.cn/showproblem.php?pid=1702

代码示例

#include<iostream>
#include<queue>
#include<stack>
#include<string>
using namespace std;
int main(){
    int t;cin>>t;
    while(t--){
        int n;string str;
        cin>>n>>str;
        
        int inNum;string str1;
        queue<int>Q;
        stack<int>S;
        for(int i=0; i<n; i++){
            if(str=="FIFO"){//队列
                cin>>str1;
                if(str1=="IN"){
                    cin>>inNum;
                    Q.push(inNum);
                }
                if(str1=="OUT"){
                    if(Q.empty()){
                        cout<<"None"<<endl;
                    } 
                    else{
                        cout<<Q.front()<<endl;Q.pop();
                    }
                }
            }
            else{//
                cin>>str1;
                if(str1=="IN"){
                    cin>>inNum;
                    S.push(inNum);
                }
                if(str1=="OUT"){
                    if(S.empty()){
                        cout<<"None"<<endl;
                    } 
                    else {
                        cout<<S.top()<<endl;S.pop();
                    }
                }
            }
        }
    }
} 

知识点

例子

说明

queue <Type> q; 

定义栈,Type为数据类型,如int,float,char等

q. push(item);

把item放进队列

q.front(); 

返回队首元素,但不会删除

q.pop();

删除队首元素

q.back();

返回队尾元素

q.size();

返回元素个数

q.empty();

检查队列是否为空

 

以上是关于queue 的使用的主要内容,如果未能解决你的问题,请参考以下文章

webstorm代码片段的创建

使用 Git 来管理 Xcode 中的代码片段

Android课程---Android Studio使用小技巧:提取方法代码片段

VIM 代码片段插件 ultisnips 使用教程

使用 Pygments 检测代码片段的编程语言

创建自己的代码片段(CodeSnippet)