已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内科护理学副高职称考试题及答案
- 2026小红书java面试题及答案
- 学校食堂改造工程施工组织设计方案
- 2026盱眙社区面试题目及答案
- 2026药品注册面试题目及答案
- 2026易理会计面试题及答案
- 2026优化服务面试题及答案
- 2026年旷课处分思想报告(3篇)
- 调查报告-个人信用(3篇)
- 敏感岗位管理制度
- 2025年长沙南雅中学入学考试物理试题
- 购买制砂机合同范例
- 国家职业技术技能标准 6-29-01-01 砌筑工 人社厅发20235号
- 2024至2030年中国浙江省智慧交通行业发展运行现状及投资潜力预测报告
- 中医医疗技术手册2013普及版
- 提高服务行业人员的品牌形象塑造能力的培训课程
- 项目九-任务一-采购风险管理
- 诗与远方-初中语文九上第一单元整合公开课一等奖创新教学设计
- 小儿多发伤的护理业务学课件
- 广东深圳历年中考语文现代文之散文阅读4篇(2003-2021年)
- HY/T 094-2022沿海行政区域分类与代码
评论
0/150
提交评论