7-8 有关队列操作 (20 分)

7-8 有关队列操作 (20 分)

请实现一个MyQueue类,实现出队,入队,显示队列,求队列长度。

实现入队方法 push(int x); 实现出队方法 pop(); 实现求队列长度方法 size();实现显示队列方法:show() 。

输入格式:
每个输入包含1个测试用例。

每个测试用例第一行给出一个正整数 n (n <= 10^6) ,接下去n行每行一个数字,表示一种操作: 1 x : 表示从队尾插入x,0<=x<=2^31-1。 2 : 表示队首元素出队。 3 : 表示求队列长度。4:表示显示队列中所有元素。

输出格式:
对于操作1,将要添加的元素添加到队列的尾部

对于操作2,若队列为空,则输出 “Invalid”,否则请输出队首元素,并将这个元素从队列中删除。

对于操作3,请输出队列长度。 每个输出项最后换行。

对于操作4,输出队列中每个元素,元素之间用空格分隔,最后一个元素后面没有空格。

输入样例:
在这里给出一组输入。例如:

9
1 23
1 34
3
4
2
1 56
2
3
1 90

输出样例:
在这里给出相应的输出。例如:

2
23 34
23
34
1
#include"stdio.h"
int main(){
	int a[1000];
	int i=0,j=0,k,t,n,z;
	scanf("%d",&n);
	for(k=0;k<n;k++){
		scanf("%d",&t);
		if(t==1)
			scanf("%d",&a[j++]);
		if(t==2)
			if(i==j)
				printf("Invalid\n");
			else{
				printf("%d\n",a[i]);
				i++;
			}
				
		if(t==3)
			printf("%d\n",j-i);
		if(t==4){
			for(z=i;z<j;z++){
				printf("%d",a[z]);
				if(z!=j-1)
					printf(" ");
			}
			printf("\n");
		}
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值