已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环队列的基本操作都可以实现,后面有代码。代码:#include#include#include#include#define MAX_SIZE 10/定义循环队列的长度typedef struct int*base; int front; int rear; int full;/队列是否已满的标志位Queue;int creat_queue(Queue*q);int en_queue(Queue*q,int e);int out_queue(Queue*q,int*e);int destroy_queue(Queue*q);int length_queue(Queue*q);void main() Queue q; int m,n,i,e,f,f1,k=0; int a1,a2,a3,a4,a5,a6;/用来接函数返回值 int *e1,*e2; q.base=NULL; e1=e2=&k;/对于指针最好这样初始化定义一下,因为只声明是没有分陪内存的,不能直接用*e printf(-循环队列的基本操作-n); printf(-1.创建一个空队列-n); printf(-2.单次入队列-n); printf(-3.单次出队列-n); printf(-4.集体入队列-n); printf(-5.集体出队列-n); printf(-6.队列元素个数-n); printf(-7.销毁队列-n); printf(-0.退出-n);loop: printf(请选择:); scanf(%d,&m); switch(m) case 1: a1=creat_queue(&q); if(a1=0) printf(队列已经存在,请先销毁原来队列!n); break; printf(OK!队列创建成功!n); break; case 2: printf(请输入要入队列的元素(整型):); scanf(%d,&e); a2=en_queue(&q,e); if(a2=-1) printf(队列不存在,请先创建队列!n); break;else if(a2=0) printf(入队失败!因为队列满了!n); break;else printf(OK!入队成功!n); break; case 3: a3=out_queue(&q,e1); if(a3=-1) printf(队列不存在,请先创建队列!n); break; else if(a3=0) printf(出队失败!因为队列为空!n); break; else printf(OK!出队成功); printf(出队元素为:%dn,*e1); break; case 4: printf(请输入您要入队列的个数:); scanf(%d,&n);for(i=0;ibase!=NULL)/队列已经存在,要先销毁 return 0;q-base=(int*)malloc(MAX_SIZE*sizeof(int);q-front=q-rear=0;q-full=0;return 1;int en_queue(Queue*q,int e) if(q-base=NULL) return -1;/是队列不存在 else if(q-full=1&q-front=q-rear) return 0;/入队前考虑队列是否满了else q-baseq-rear=e; q-rear=(q-rear+1)%MAX_SIZE;/实现循环,如果rear+1满了并不是真正的满了,可以循环 if(q-front=q-rear) q-full=1; return 1;int out_queue(Queue*q,int*e) if(q-base=NULL) return -1;/是队列不存在 if(q-full=0&q-front=q-rear) return 0; /出队前考虑队列是否为空 else *e=q-baseq-front;q-front=(q-front+1)%MAX_SIZE;/修改front位置 if(q-front=q-rear)q-full=0;/如果出队后两位置相同则队为空了return 1;int destroy_queue(Queue*q) if(q-base=NULL) return 0;/是队列不存在 free(q-base); q-base=NULL;return 1; int length_queue(Queue*q) if(q-base=NULL) return -1;/是队列不存在 else if(q-full=1&q-front=q-rear) return MAX_SIZE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生普法考试题及答案
- 新员工岗前安全培训测试题及答案
- 招聘服务员试题及答案
- 液化石油气换气站主要负责人相关试题及答案
- 直播中控(理论)考试题及答案
- 中医助理医师模拟试题及答案
- 中级育婴理论知识模拟习题及参考答案
- 2025年广西壮族自治区百色市九年级数学上册期中考试试卷及答案
- 2025年历史(统招专升本)考试试题及答案
- 2025年江西省(专升本)大学语文真题及答案
- 2024年下半年中国铁路成都局集团有限公司校招笔试题带答案
- 2025年中邮资产管理公司招聘笔试备考题库(带答案详解)
- 开启人生职业旅程课件
- 课题申报书:韧性治理视域下高校“一站式”学生社区应急管理机制构建研究
- DB32╱T 3452-2018 老年教育机构服务规范
- 喉癌课件完整版本
- 维生素D缺乏症课件
- 病毒对食品安全的影响
- 人力资源安全培训
- 《立在地球边上放号》《峨日朵雪峰之侧》课件++2024-2025学年统编版高中语文必修上册
- (高清版)AQ∕T 2050.3-2016 金属非金属矿山安全标准化规范 露天矿山实施指南
评论
0/150
提交评论