蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOCX文档下载
 

队列的基本操作以及应用

  • 资源ID:53153380       资源大小:84.54KB        全文页数:3页
  • 资源格式: DOCX        下载权限:游客/注册会员    下载费用:5积分 【人民币5元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要5积分 【人民币5元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

队列的基本操作以及应用

实验五 队列的基本操作及应用 实验目的掌握队列的初始化、判空、取队头元素、出队、入队、输出队列元素等基本操作 实验要求 1、认真阅读和掌握教材上和本实验相关的算法。 2、实现链队列的相关算法,并能够进行简单的输入输出验证。 实验内容 编程实现链队列的基本操作,这些基本操作至少包括初始化、清空、判空、取队头元 素、出队、入队、输出队列元素。要求能够进行简单的输入输出验证。 参考代码 includestdio.h includestdlib.h define TRUE 1 define FALSE 0 define OK 1 define ERROR 0 define MAXQSIZE6/*最大队列长度对于循环队列,实际队列数据个数要减1 */ typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等*/ typedef struct 〃声明QElemType类型,此处即为C的整型 { int StudentNo; char name [5]; int fenshu; } QElemType; 〃定义循环队列结构 typedef struct { QElemType *base;/*初始化的动态分配存储空间*/ intfront;/*头指针,若队列不空,指向队列头元素*/ int rear; /*尾指针,若队列不空,指向队列尾元素的下一个位置*/ JSqQueue; 〃基本操作 Status InitQueueSqQueue Q { /*构造一个空队列Q */ Q.baseQElemType *mallocMAXQSIZE*sizeofQElemType; ifQ.base/*存储分配失败*/ return ERROR; Q.frontQ.rear0; return OK; Status DestroyQueueSqQueue Q {/*销毁队列Q,Q不再存在*/ ifQ.base freeQ.base; Q.baseNULL; Q.frontQ.rear0; return OK; Status QueueEmptySqQueue Q { /*若队列Q为空队列,则返回TRUE,否则返回FALSE */ ifQ.frontQ.rear /* 队列空的标志 */ return TRUE; else return FALSE; int QueueLengthSqQueue Q {/*返回Q的元素个数,即队列的长度*/ returnQ.rear-Q.frontMAXQSIZEMAXQSIZE; } Status GetHeadSqQueue Q,QElemType e { /*若队列不空,则用e返回Q的队头元素,并返回OK,否则返回ERROR */ ifQ.frontQ.rear /* 队列空 */ return ERROR; e*Q.baseQ.front; return OK; Status EnQueueSqQueue Q,QElemType e /*插入元素e为Q的新的队尾元素*/ ifQ.rearlMAXQSIZEQ.front/* 队列满 */ return ERROR; Q.base[Q.rear]e; Q.rearQ.rearlMAXQSIZE; printfn\nn; printfA队元素的学号为d\n,e.StudentNo; printf入队元素的姓名为s\nn,e.name; printfH入队元素的分数为d\nn,e.fenshu; return OK; Status DeQueueSqQueue Q,QElemType e { /*若队列不空,则删除Q的队头元素,用e返回其值,并返回OK;否则返回ERROR */ ifQ.frontQ.rear /* 队列空 */ return ERROR; eQ .base [Q .front]; Q.frontQ.front 1MAXQSIZE; printfn\nH; printfH出队元素的学号为d\nn,e.StudentNo; printfn出队元素的姓名为s\nn,e.name; printfn出队元素的分数为d\nn,e.fenshu; return OK; Status ShowQueueSqQueue Q { 〃依次显示每个队列空间及当前队头、队尾位置 int i0; fori0;ivMAXQSIZE;i { printfn[d] dn,i,Q.base[i]; if Q.fronti printf -Head; if Q.reari printf -Tail; printf侦; } return OK; 〃主函数 void main { QElemType student[6]{001,张二”,90},{002,”李四,95},003,王五,82},004,赵 六 ”,92},{005,” 钱四”,94},{006」孙伟 ”,79}}; SqQueue Q; InitQueueQ; QElemType j; forint kl;kv6;k { jstudent[k-l]; EnQueueQ,j; printf”显示队列的各个元素\n”; int p; QElemType e; pQ.front; whileQ.front Q.rear DeQueueQ,e; DestroyQueueQ; printf队列已经销毁\n”;

注意事项

本文(队列的基本操作以及应用)为本站会员(aaakkpc)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开