E - 队列的操作
Description
一个初始化为空的队列,共有三种操作,pop,push,query
Input
pop操作, 输入pop, 输出并且删除队首的元素,如果没有则输出 empty!;
push操作,输入push d(d为一个整数);
query操作,输入query k(k为一个整数),输出队列中第k个元素,如果没有则输出 empty!.
Output
按要求输出
Sample Input
poppush 1poppush 10query 1
Sample Output
empty!110
// File Name: 队列的操作.cpp
// Author: rudolf
// Created Time: 2013年03月12日 星期二 13时36分47秒
#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<deque>
using namespace std;
int main()
{
char chuan[10000];
int num,k;
deque<int> a;
while(~scanf("%s",chuan))
{
getchar();
//
//getchar();
//scanf("%d",&num);
if(strcmp(chuan,"pop")==0)
{
if(a.empty())
{
cout<<"empty!"<<endl;
// getchar();
}
else
{
int x=a.front();
cout<<x<<endl;
a.pop_front();
}
}
if(strcmp(chuan,"push")==0)
{
scanf("%d",&num);
// getchar();
a.push_back(num);
}
if(strcmp(chuan,"query")==0)
{
scanf("%d",&k);
// for(int i=0;i<k;i++)
//
//a.pop();
if(k>a.size()||k<0)
cout<<"empty"<<endl;
else
cout<<a.at(k-1)<<endl;
}
}
return 0;
}
浙公网安备 33010602011771号