请实现一个MyQueue类,实现出队,入队,求队列长度.
实现入队函数 void push(int x);
实现出队函数 int pop();
实现求队列长度函数 int size();
输入格式:
每个输入包含1个测试用例。每个测试用例第一行给出一个正整数 n (n <= 10^6) ,接下去n行每行一个数字,表示一种操作:
1 x : 表示从队尾插入x,0<=x<=2^31-1。
2 : 表示队首元素出队。
3 : 表示求队列长度。
输出格式:
对于操作2,若队列为空,则输出 “Invalid”,否则请输出队首元素。 对于操作3,请输出队列长度。
每个输出项最后换行。
输入样例:
5
3
2
1 100
3
2
输出样例:
0
Invalid
1
100
代码示例如下:
#include <iostream>
using namespace std;
class MyQueue{
public:
int size;
int a[10000];
MyQueue(){
size = 0;
a[10000] = 0;
}
void push(int x){
a[size++] = x;
}
int pop(){
return a[--size];
}
int Size(){
return size;
}
};
int main(){
MyQueue my;
int n;
cin>>n;
for(int i=0;i<n;i++){
int m;
cin>>m;
switch(m){
case 1 :
int x;
cin>>x;
my.push(x);
break;
case 2:
if(my.Size()){
cout<<my.pop()<<endl;
}
else{
cout<<"Invalid"<<endl;
}
break;
case 3:
cout<<my.Size()<<endl;
break;
default :
break;
}
}
return 0;
}