队列的初始化、插入和删除操作(C语言版)

队列的初始化、插入和删除操作(C语言版)

ID:46615099

大小:21.00 KB

页数:3页

时间:2019-11-26

队列的初始化、插入和删除操作(C语言版)_第1页
队列的初始化、插入和删除操作(C语言版)_第2页
队列的初始化、插入和删除操作(C语言版)_第3页
资源描述:

《队列的初始化、插入和删除操作(C语言版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、队列设计与算法实现1.实验目的本实验将通过实验实例和程序设计练习,达到如下目的:(1)掌握队列的链式表示和实现2.实验内容及要求本实验的内容包括(1)编写一个程序实现链队列的初始化、插入和删除基本操作。3.实验要求3.1实验一:实验要求:编写一个程序实现链队列的以下操作,并在此基础上设计一个主程序,完成如下功能:(1)初始化链队列;(2)建立一个链队列(3)入队;(4)出队。需要注意:(1)与链栈类似,无需考虑队满或上溢;(2)在出队算法中,一般只需要修改对头指针,但当原队列中只剩一个结点是,该结点既是队头又是队尾,故删去此结点时需要修改队尾指针,且删除此

2、结点后队列为空;(3)为了简化边界条件的处理,在队头结点前可附加一个头结点。以下是我自己根据严蔚敏数据结构教材自己编写的教材:#include#defineOK1#defineERROR0#defineOVERFLOW-1typedefstructQNode{chardata;structQNode*next;}QNode,*QueuePtr;typedefstruct{QueuePtrfront;QueuePtrrear;}LinkQueue;LinkQueueQ;intmain(){intInitQueue(LinkQueue*Q);

3、intEnQueue(LinkQueue*Q,chare);intDeQueue(LinkQueue*Q,char*e);intQueueTraverse(LinkQueueQ);inti;charc,d,e,f;chara[]="Iamhappy";clrscr();InitQueue(&Q);for(i=0;a[i]!='';i++)EnQueue(&Q,a[i]);printf("TheQueueis:");QueueTraverse(Q);do{printf("Ifyouwanttoinsert,pleasepress"P"delete

4、press"d"elsepressanyotherkeytoexit");scanf("%c",&c);switch(c){case'p':{printf("Pleaseinputtheelemyouwanttoinset:");scanf("%c",&d);EnQueue(&Q,d);printf("TheQueueinsertedis:");QueueTraverse(Q);break;}case'd':{DeQueue(&Q,&e);printf("Theelemwhichisdeletedis:%c",e);break;}d

5、efault:exit(1);}printf("Doyouwanttocontune?(Y/N)");scanf("%c",&f);}while(f=='y');}InitQueue(LinkQueue*Q){(*Q).front=(*Q).rear=(QueuePtr)malloc(sizeof(QNode));if(!(*Q).front)exit(OVERFLOW);(*Q).front->next=NULL;returnOK;}EnQueue(LinkQueue*Q,chare){QueuePtrp=(QueuePtr)malloc(sizeo

6、f(QNode));if(!p)exit(OVERFLOW);p->data=e;p->next=NULL;(*Q).rear->next=p;(*Q).rear=p;returnOK;}DeQueue(LinkQueue*Q,char*e){QueuePtrp;if((*Q).front==(*Q).rear)returnERROR;p=(*Q).front->next;*e=p->data;(*Q).front->next=p->next;if((*Q).rear==p)(*Q).rear=(*Q).front;free(p);returnOK;}in

7、tQueueTraverse(LinkQueueQ){while(Q.front!=Q.rear){printf("%c",Q.front->next->data);Q.front=Q.front->next;}printf("");returnOK;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。