数据结构实验之队列一:排队买饭(用链表做了半天,我骄傲!)
来源:互联网 发布:脊柱梳理床 知乎 编辑:程序博客网 时间:2024/06/11 09:37
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct node
{
int data;
struct node *next;
};
int main()
{
int n,m,i,s,j;
char ml[20];
struct node *head,*p,*tail,*q,*r;
head=(struct node*)malloc(sizeof(struct node));
head->next=NULL;
tail=head;
scanf("%d",&n);
for(i=0;i<n;i++)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
p->next=NULL;
tail->next=p;
tail=p;
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%s",ml);
if(strcmp(ml,"JOIN")==0)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
p->next=NULL;
tail->next=p;
tail=p;
}
else if(strcmp(ml,"ASK")==0)
{
scanf("%d",&n);
s=0;
q=head;
while(s<n)
{
q=q->next;
s++;
}
printf("%d\n",q->data);
}
else if(strcmp(ml,"LEAVE")==0)
{
scanf("%d",&n);
r=head;
s=0;
while(s<n-1)
{
r=r->next;
s++;
}
q=r->next;
r->next=q->next;
free(q);
}
else if(strcmp(ml,"LENGTH")==0)
{
s=0;
q=head;
while(q->next!=NULL)
{
s++;
q=q->next;
}
printf("%d\n",s);
}
else if(strcmp(ml,"FINISH")==0)
{
scanf("%d",&n);
for(j=0;j<n;j++)
{
r=head;
q=r->next;
r->next=q->next;
free(q);
}
}
}
return 0;
}
#include <stdlib.h>
#include <string.h>
struct node
{
int data;
struct node *next;
};
int main()
{
int n,m,i,s,j;
char ml[20];
struct node *head,*p,*tail,*q,*r;
head=(struct node*)malloc(sizeof(struct node));
head->next=NULL;
tail=head;
scanf("%d",&n);
for(i=0;i<n;i++)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
p->next=NULL;
tail->next=p;
tail=p;
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%s",ml);
if(strcmp(ml,"JOIN")==0)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
p->next=NULL;
tail->next=p;
tail=p;
}
else if(strcmp(ml,"ASK")==0)
{
scanf("%d",&n);
s=0;
q=head;
while(s<n)
{
q=q->next;
s++;
}
printf("%d\n",q->data);
}
else if(strcmp(ml,"LEAVE")==0)
{
scanf("%d",&n);
r=head;
s=0;
while(s<n-1)
{
r=r->next;
s++;
}
q=r->next;
r->next=q->next;
free(q);
}
else if(strcmp(ml,"LENGTH")==0)
{
s=0;
q=head;
while(q->next!=NULL)
{
s++;
q=q->next;
}
printf("%d\n",s);
}
else if(strcmp(ml,"FINISH")==0)
{
scanf("%d",&n);
for(j=0;j<n;j++)
{
r=head;
q=r->next;
r->next=q->next;
free(q);
}
}
}
return 0;
}
0 0
- 数据结构实验之队列一:排队买饭(用链表做了半天,我骄傲!)
- 数据结构实验之队列一:排队买饭(队列)
- 数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭
- SDUT 2335 - 数据结构实验之队列一:排队买饭
- 【2135】数据结构实验之队列一:排队买饭 sdutOJ
- SDUTOJ 2135--数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭
- SDUT OJ 数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭
- SDUT 2135 数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭
- 数据结构实验之队列一:排队买饭 SDUT
- 数据结构实验之队列一:排队买饭
- Eclipse调试常用技巧
- (11)Hive的原理—— 深入浅出学Hive
- 掌握actionscript 3.0宝典的重点内容就是这么简单
- linux repo准备和代码下载
- 使用优先队列的Dijkstra算法
- 数据结构实验之队列一:排队买饭(用链表做了半天,我骄傲!)
- Cannot change version of project facet Dynamic Web Module to 2.5
- android修改鼠标事件
- CSS3实践之路(二): 颜色渐变(Gradient)和背景(Backgroud)
- 配置LOG4J
- Struts2常用标签总结
- java中定时器的写法
- 转载_U_boot 的 bootcmd 和bootargs参数详解
- 几款免费流程图制作软件