欢迎来到天天文库
浏览记录
ID:55916894
大小:121.00 KB
页数:9页
时间:2020-06-14
《顺序队的基本操作.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、上机实验报告学院:计算机与信息技术学院专业:计算机科学与技术(师)课程名称:数据结构实验题目:顺序队的基本操作班级序号:师1班学号:201421012731学生:邓雪指导教师:红颖完成时间:2015年12月25号实验目的:1.熟悉掌握队的定义、结构及性质; 2.熟练掌握循环队列的操作及应用,掌握循环队列的入队和出队等基本操作。 3.加深对队列结构的理解,逐步培养解决实际问题的编程能力二、实验环境:Windows8.1MicrosoftVisualc++6.0三、实验容及要求:掌握队列的概念及性质,并建立顺序队,实
2、现如下功能:1.建立一个顺序队2.输出队3.求队长4.判队空5.取队头6.入队7.出队8.清空栈四、概要设计:1、通过循环,由键盘输入一串数据。创建并初始化一个顺序队。2、编写实现相关功能函数,完成子函数模块如下。3、调用子函数,实现菜单调用功能,完成顺序表的相关操作。main建队求队长出队取队顶入队清空队判队空五、代码#include#include#definemaxsize1024typedefintdatatype;//定义结构体typedefstruct{datat
3、ypedata[maxsize];intfront,rear;}sequeue;sequeue*sq;//建立顺序队sequeue*SET(){sequeue*sq;datatypex;sq=(sequeue*)malloc(sizeof(sequeue));sq->front=maxsize-1;sq->rear=maxsize-1;printf("请输入要存入的结点值(以0结尾)");scanf("%d",&x);while(x!=0){sq->rear=(sq->rear+1)%maxsize;sq->
4、data[sq->rear]=x;scanf("%d",&x);}printf("顺序队输入成功");returnsq;}//判队空intEMPTY(sequeue*sq){if(sq->rear==sq->front)return1;elsereturn0;}//输出voidPRINT(sequeue*sq){inti;if(EMPTY(sq))printf("sequeueisempty");else{i=(sq->front+1)%maxsize;while(i<=sq->rear){print
5、f("%d",sq->data[i]);i=(i+1)%maxsize;}}}//队长度intLENGTH(sequeue*sq){intcount=0,i;if(EMPTY(sq))returncount;else{i=(sq->front+1)%maxsize;while(i<=sq->rear){count++;i=(i+1)%maxsize;}returncount;}}//取队头datatypeFRONT(sequeue*sq){datatypex;if(EMPTY(sq)){printf("seque
6、ueisempty");returnNULL;}else{x=sq->data[(sq->front+1)%maxsize];returnx;}}//入队voidENQUEUE(sequeue*sq){datatypex;printf("请输入要插入的结点值");scanf("%d",&x);if(sq->front==(sq->rear+1)%maxsize){printf("sequeueisfull");exit(0);}else{sq->rear=(sq->rear+1)%maxsize;sq
7、->data[sq->rear]=x;printf("插入成功");}}//出队datatypeDEQUEUE(sequeue*sq){if(EMPTY(sq)){printf("sequeueisempty");returnNULL;}else{sq->front=(sq->front+1)%maxsize;return(sq->data[sq->front]);}}//置空队voidSETNULL(sequeue*sq){sq->front=maxsize-1;sq->rear=maxsize-1;}
8、//主函数voidmain(){sequeue;inta,p;printf("——————————————————————————————————");printf("1、建立队");printf("2、输出队");printf("3、队长度");printf("4、判队空");printf("5、取队头");printf("6、入队");
此文档下载收益归作者所有