循环队列的操作和实现C语言.doc

循环队列的操作和实现C语言.doc

ID:48425565

大小:162.50 KB

页数:7页

时间:2020-01-25

循环队列的操作和实现C语言.doc_第1页
循环队列的操作和实现C语言.doc_第2页
循环队列的操作和实现C语言.doc_第3页
循环队列的操作和实现C语言.doc_第4页
循环队列的操作和实现C语言.doc_第5页
资源描述:

《循环队列的操作和实现C语言.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.循环队列的基本操作都可以实现,后面有代码。..代码:#include#include#include#include#defineMAX_SIZE10//定义循环队列的长度typedefstruct{int*base;intfront;intrear;intfull;//队列是否已满的标志位}Queue;intcreat_queue(Queue*q);inten_queue(Queue*q,inte);intout_queue(Qu

2、eue*q,int*e);intdestroy_queue(Queue*q);intlength_queue(Queue*q);..voidmain(){Queueq;intm,n,i,e,f,f1,k=0;inta1,a2,a3,a4,a5,a6;//用来接函数返回值int*e1,*e2;q.base=NULL;e1=e2=&k;//对于指针最好这样初始化定义一下,因为只声明是没有分陪内存的,不能直接用*eprintf("----------------循环队列的基本操作---------------")

3、;printf("----------------1.创建一个空队列-----------------");printf("----------------2.单次入队列---------------------");printf("----------------3.单次出队列---------------------");printf("----------------4.集体入队列---------------------");printf("----------------5.集体出队列

4、---------------------");printf("----------------6.队列元素个数-------------------");printf("----------------7.销毁队列-----------------------");printf("----------------0.退出---------------------------");loop:printf("请选择:");scanf("%d",&m);switch(m){case1:a1=crea

5、t_queue(&q);if(a1==0){printf("队列已经存在,请先销毁原来队列!");break;}printf("OK!队列创建成功!");break;case2:printf("请输入要入队列的元素(整型):");scanf("%d",&e);a2=en_queue(&q,e);if(a2==-1){printf("队列不存在,请先创建队列!");break;}elseif(a2==0){printf("入队失败!因为队列满了!");break;}else{printf("OK!

6、入队成功!");break;}case3:a3=out_queue(&q,e1);..if(a3==-1){printf("队列不存在,请先创建队列!");break;}elseif(a3==0){printf("出队失败!因为队列为空!");break;}else{printf("OK!出队成功");printf("出队元素为:%d",*e1);break;}case4:printf("请输入您要入队列的个数:");scanf("%d",&n);for(i=0;i

7、inta=0;printf("请输入下一个入队元素:");scanf("%d",&e);a=en_queue(&q,e);if(a==-1){f=0;break;}//队不存在,只跳出for循环elseif(a==0){f=1;break;}//队满了,也跳出for循环}if(f==0){printf("队列不存在,请先创建!");break;}elseif(f==1){printf("存不下这个元素了,因为队列已经满了!");break;}elseprintf("OK!集体入队列成功!");bre

8、ak;case5:printf("OK!集体出队列为:");while(1){a6=out_queue(&q,e2);if(a6==-1){printf("队列不存在!请先创建队列!");break;}..elseif(a6==0){if(f1!=1)//新加一个f1标志位,若f1=1表示不是一开始就为空的printf("队列本来就为空!");break;}else{f1=1;

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

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

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