请实现一个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>
#include<cstring>
using namespace std;
class MyQueue
{
	int count=0;//让计数器属于类内成员,好调用
	int num[500];//队列
	public:
		void push(int);
		int pop();
		int size();
};
void MyQueue::push(int x)//增加队列元素
{
	num[count++]=x;
}
int MyQueue::pop()//队列头元素出列
{
	if(count==0)//无元素时
	return -1;
	int x=num[0];
	for(int i=0;i<count-1;i++)
		num[i]=num[i+1];
	count--;
	return x;
}
int MyQueue::size()//count就是队列大小
{
	return count;
}
int main()
{
	int n,k;
	cin>>n;
	MyQueue text;//创建对象
	int num;
	for(int i=0;i<n;i++)
	{
		cin>>k;
		switch(k)//用switch判断操作
		{
			case 1:
				cin>>num;
				text.push(num);
				break;
			case 2:
				num=text.pop();
				if(num==-1)
					cout<<"Invalid"<<endl;
				else
					cout<<num<<endl;
				break;
			case 3:
				cout<<text.size()<<endl;
		}
	}
}