版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验——队列(附程序)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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年新型彩钢建筑房屋合作合同
- 2024年度建筑模板安装与拆除及废弃物处理合同3篇
- 全国交通安全日交通安全心得600字【5篇】
- 幼儿园山药豆课程设计
- 2024至2030年中国氯氰菊酯原药行业投资前景及策略咨询研究报告
- 定位套筒工艺学课程设计
- 家禽写意画课程设计
- 2024年标准版全款购车法律合同范本版B版
- 2024年专业技术外派劳务派遣服务协议版
- 2024年度劳动协议续签协议范本版B版
- 《大学生劳动教育》课件第一章 新时代大学生的劳动价值观
- 突发事件及自救互救学习通超星期末考试答案章节答案2024年
- 2024秋期国家开放大学《政治学原理》一平台在线形考(形考任务四)试题及答案
- 成都市温江区殡葬设施布局专项规划2021-2035年
- MOOC 时间序列分析-中南财经政法大学 中国大学慕课答案
- 2024-2029年中国物业管理行业发展分析及发展战略研究报告
- 2024年中储粮集团招聘笔试参考题库附带答案详解
- (2024年)保安培训图文课件
- 国开《Windows网络操作系统管理》形考任务6-配置Web服务实训
- cpvc管配方及工艺
- 基层医生2021年度个人工作总结
评论
0/150
提交评论