




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验——队列(附程序)1/2实验三队列一、实验目的1.了解队列的特性。2.掌握队列的顺序表示和实现。3.掌握队列的链式表示和实现。二、实验内容实验3.3队列的顺序表示和实现编写一个程序实现顺序队列的各种基本运算(采用循环队列),并在此基础上设计一个主程序,完成如下功能:(1)初始化队列。(2)建立顺序队列。(3)入队。(4)出队。(5)判断队列是否为空。(6)取队头元素。(7)遍历队列。实验3.4队列的链式表示和实现编写一个程序实现链队列的各种基本运算,并在此基础上设计一个主程序,完成如下功能:(1)初始化并建立链队列。(2)入链队列。(3)出链队列。(4)遍历链队列。#include<stdio.h>#include<stdlib.h>#defineMAXQSIZE100typedefstruct{ int*base; intfront; intrear;}SqQueue;数据结构实验数据结构实验——队列(附程序)全文共7页,当前为第1页。intInitQueue(SqQueue&Q){ Q.base=(int*)malloc(MAXQSIZE*sizeof(int)); if(!Q.base)exit(0); Q.front=Q.rear=0; return0;}//初始化顺序队列intQueueLength(SqQueueQ){ inti; i=(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE; printf("队列长度%5d\n",i); if(i)printf(" 队列非空"); else printf(" 队列为空"); return0; }//判断队列是否为空intEnQueue(SqQueue&Q,inte){ if((Q.rear+1)%MAXQSIZE==Q.front)return0; Q.base[Q.rear]=e; Q.rear=(Q.rear+1)%MAXQSIZE; return0;}//将元素e入队intDeQueue(SqQueue&Q,inte){ if(Q.front==Q.rear)return0; e=Q.base[Q.front]; printf("%5d\n",e); Q.front=(Q.front+1)%MAXQSIZE; return0;}//删除元素e并返回其值数据结构实验数据结构实验——队列(附程序)全文共7页,当前为第2页。intGetHead(SqQueue&Q,inte){ if(!(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE)return0; e=Q.base[Q.front]; printf("返回队头元素%5d\n",e); return0;}//返回队头元素evoidPrintQueue(SqQueue&Q){ intk; printf("顺序队列中的元素:\n"); for(k=Q.front;k!=Q.rear;k++) printf("%5d",Q.base[k]); printf("\n");}//遍历顺序队列 voidmain(){inte,i,n;SqQueueQ;InitQueue(Q);printf("1—元素入队;2—元素出队;3—返回队头元素;4—队列空否0—结束运行\n");数据结构实验——队列(附程序)全文共7页,当前为第3页。数据结构实验——队列(附程序)全文共7页,当前为第3页。printf("\n");printf("\n");printf("选择:");scanf("%d",&n);printf("\n");printf("\n");while(n!=0){ switch(n) { case1:printf("入队元素: ");scanf("%d",&e);EnQueue(Q,e);PrintQueue(Q);printf("\n");printf("\n");break; case2:printf("出队元素: ");DeQueue(Q,e);PrintQueue(Q);printf("\n");printf("\n");break; case3:GetHead(Q,e);printf("\n");printf("\n");break; case4:QueueLength(Q);printf("\n");printf("\n");break; } printf("选择:"); scanf("%d",&n);printf("\n");printf("\n");}printf("结束运行。再见!\n");}链式队列#include<stdio.h>#include<stdlib.h>数据结构实验——数据结构实验——队列(附程序)全文共7页,当前为第4页。{ intdata; structQNode*next; }QNode,*QueuePtr;typedefstruct{ QueuePtrfront;//队头指针 QueuePtrrear;//队尾指针}LinkQueue;intInitQueue(LinkQueue&Q){ Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode)); if(!Q.front)exit(0); Q.front->next=NULL; return0;}//初始化链式队列intEnQueue(LinkQueue&Q,inte){ QueuePtrp; p=(QueuePtr)malloc(sizeof(QNode)); if(!p)exit(0); p->data=e;p->next=NULL; Q.rear->next=p; Q.rear=p; return0;}//在队尾插入元素eintDeQueue(LinkQueue&Q,inte){ QueuePtrp;数据结构实验——数据结构实验——队列(附程序)全文共7页,当前为第5页。 p=Q.front->next; e=p->data; Q.front->next=p->next; if(Q.rear==p)Q.rear=Q.front; free(p); return0;}//删除队头元素eintPrintQueue(LinkQueue&Q){ QueuePtrp; printf("链式队列中的元素 "); if(Q.front->next!=NULL) { p=Q.front->next; if(Q.front->next!=NULL) do { printf("%5d",p->data); p=p->next; }while(p!=NULL); } else printf("队列为空\n"); printf("\n"); return0;}//遍历链式队列voidmain(){ LinkQueueQ; inte,m; printf("\n");printf("\n");printf("\n");printf("\n"); printf("1——插入元素;2——删除元素;0——结束运行\n"); printf("\n");printf("\n");printf("\n");数据结构实验数据结构实验——队列(附程序)全文共7页,当前为第6页。 InitQueue(Q); printf("\n");printf("\n"); printf("选择:"); scanf("%d",&m); printf("\n");printf("\n"); while(m!=0) { switch(m) { case1:printf("插入元素:");scanf("%d",&e);EnQueue(Q,e);PrintQueue(Q);printf("\n");printf("\n");break; case2:DeQueue(Q,e);PrintQueue(Q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 古诗文中意象表达技巧指导
- 项目进度说明文书
- 童话故事儿童剧解读
- 理赔案件统计分析表
- 企业并购重组科技成果转化合作协议
- 农场租赁合同
- 农业生产绿色低碳发展与实践路径
- 提升客户服务质量的具体措施方案
- 规章制度汇编-员工手册
- 城市绿化项目合作施工合同
- 纳米生物医用材料课件
- 八年级-现在完成时复习(共26张)课件
- 第十章可持续发展理论与实践课件
- 电气基础知识培训要点课件
- 洗浴中心转让合同(5篇)
- 外研版小学英语五年级下册课文翻译
- YY-T 1823-2022 心血管植入物 镍钛合金镍离子释放试验方法
- 年产12000吨水合肼(100%)项目环评报告书
- 钻芯法检测混凝土抗压强度原始记录1
- 液压支架与泵站(第二版)课件汇总全书电子教案完整版课件最全幻灯片(最新)
- 分布式光伏电站支架结构及荷载计算书
评论
0/150
提交评论