循环队列的基本操作.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环队列的基本操作

实验四 循环队列的基本操作 实验目的: 1、熟悉将算法转换成程序代码的过程。 2、了解单循环队列的逻辑结构特性,熟练掌握循环队列顺序存储结构的C 语言描述方法。 3、熟练掌握循环队列的基本操作:入队、出队等,掌握循环队列的存取特性。 实验内容: 1、分别建立包含6个数据元素的循环队列; 2、从键盘输入一个数据元素x,进行入队操作; 3、获取队头元素的值; 4、对循环队列进行出队操作; 5、打印循环队列元素和队列长度; 6、给出程序及各项操作结果。 实验步骤: #include stdio.h #include malloc.h #include stdlib.h #define MAXSIZE 100 /*队列的最大容量*/ typedef int DataType; typedef struct { DataType data[MAXSIZE]; /*队列的存储空间*/ int front, rear; /*队头队尾指针*/ }SeqQueue,*PSeqQueue; PSeqQueue Init_SeqQueue( ) { /*初始化一新队列,入口参数:无,返回值:新顺序队列指针,null表示失败*/ PSeqQueue Q; Q=( PSeqQueue )malloc(sizeof(SeqQueue)); if (Q) { Q-front=0; Q-rear=0; printf(置空队列成功!); } return Q; } void Destroy_SeqQueue(PSeqQueue *Q) { /*销毁一队列,入口参数:要销毁的顺序队列指针的地址,返回值:无*/ if (*Q) free(*Q); *Q=NULL; } int Empty_SeqQueue(PSeqQueue Q) /*判断队列是否为空,入口参数:顺序队列,返回值:1表示为空,0表示非空*/ { if (Q Q-front==Q-rear) return (1); else return (0); } int QueueLength (PSeqQueue Q) { 学生自己写 }//返回Q的元素个数,即队列的长度 int In_SeqQueue ( PSeqQueue Q , DataType x) /*入队操作,入口参数:顺序队列和待入队元素x ,返回值:1表示成功,-1表示队满溢出*/ { if ((Q-rear+1)%MAXSIZE==Q-front) { printf(队满); return -1; /*队满不能入队*/ } else { Q-rear=(Q-rear+1) % MAXSIZE; Q-data[Q-rear]=x; return 1; /*入队完成*/ } } int Out_SeqQueue (PSeqQueue Q,DataType *x) { /*出队操作,入口参数:顺序队列,返回值:1表示成功,-1表示队空,出队的元素保存到*x */ if (Empty_SeqQueue(Q)) { printf(队空); return -1; /*队空不能出队*/ } else { Q-front=(Q-front+1) % MAXSIZE; *x=Q-data[Q-front]; return 1; /*出队完成*/ } } int Front_SeqQueue(PSeqQueue Q ,DataType *x) { /*取队头元素,入口参数:顺序队列和取出元素存放地址,返回值:1表示成功, -1表示队空*/ if (Q-front==Q-rear) { printf(队空); return -1; /*队空不能得到队头元素*/ } else { *x=Q-data[(Q-front+1)%MAXSIZE]; return 1; /*取队头元素操作完成*/ } } void display(PSeqQueue S) { 学生填写 } void main() { (由学生填写) } 实验用测试数据和相关结果分析:(由学生填写) 实验总结:(由学生填写)

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档