SDUT 2135 数据结构实验之队列一:排队买饭

本文展示了一个使用C语言实现的队列操作程序,其中包括加入元素(JOIN)、询问特定位置元素(ASK)、移除元素(LEAVE)、查询队列长度(LENGTH)及移动队列起始位置(FINISH)等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 #include<stdio.h>
2 #include<string.h>
3 int main()
4 {
5 int n,m,num[10000],x,y,z,d,f = 1,i,r = 0;
6 char str[10];
7 scanf("%d", &m);
8 for(i = 1 ; i <= m;i++)
9 scanf("%d", &num[i]);
10 scanf("%d",&n);
11 r = m;
12 while(n--)
13 {
14 scanf("%s",str);
15 if(strcmp(str,"JOIN") == 0)
16 {
17 scanf("%d", &x);
18 num[++r]=x;
19 }
20 if(strcmp(str, "ASK") == 0 )
21 {
22 scanf("%d", &z);
23 printf("%d\n",num[f+z-1]);//这个地方没有想到应该是f+z-1 本来直接写的z
24 }
25 if(strcmp(str, "LEAVE") == 0)
26 {
27 scanf("%d", &y);
28 for(i = f+y-1;i < r;i++)//这里也没想到应该是f+y-1 直接写的y
29 num[i]=num[i+1];
30 r--;
31 }
32 if(strcmp(str,"LENGTH") == 0)
33 printf("%d\n",r-f+1);
34 if(strcmp(str, "FINISH") == 0)
35 {
36 scanf("%d", &d);
37 f = f+d;
38 }
39 }
40 return 0 ;
41 }

 

转载于:https://www.cnblogs.com/shangyu/archive/2012/02/11/2346946.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值