1 / 12
文档名称:

实验三队列实验报告.doc

格式:doc   大小:28KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验三队列实验报告.doc

上传人:1660287**** 2021/10/14 文件大小:28 KB

下载得到文件列表

实验三队列实验报告.doc

相关文档

文档介绍

文档介绍:实验三队列实验报告
计算机科学与技术系 实 验 报 告 专业名称 计算机科学与技术 课程名称 数据结构与算法 工程名称 实验三队列实验 班 级 学 号 1 姓 名 同组人员 无 实验日期
实验三 队列实验 实验题目:
建立含有假设干个元素的循环队列和链队列,并分别实现循环队列和链队列的入队和出对操作。
(1 1 ) 先实现循环队列的入队和出队操作 1 1 。问题分析 本程序要求实现建立含有假设干个元素的循环队列,并实现循环队列的入队和出队操作. 完成该实验需要以下 4 个子任务:
\o\ac( ○ ,1)定义一个循环队列的存储结构,定义队列的根本算法。
○2 定义一个 display()函数实现队列元素的输出看入队是否成功 错误! ! 通过队列的根本算法实现队列的出队操作 错误! ! 在主函数中完成操作 测试数据设计如下:
1 2 3 4 5 6 2 2 。
概要设计 为了实现上述程序功能,需要:
错误! ! 声明一个循环队列 错误! ! 定义出队列的根本算法, 错误! ! 通过键盘输入 5 个整数,入队,出队 错误! ! 在主函数中先往队列里输入 5 个元素,然后入队,输出,看入队是否成功,然后出队,再调用 display()函数看是否出队。
1) 本程序包含7个函数:
1 主函数main() :InitQueue() 3.判对空:
QueueEmpty() 4.判队满:QueueFull() 5。入队:Add() 6。出队:Delete() 7。display() 各函数关系如下:
In itQueu e( ( )
euQ Q? ueu u e Empty () M a in ( ( ) Qu e ueFull () dA? Add () )M M ai n eD? De lete () dis s p lay() 3 3 、 详细设计 实现概要设计中定义的所有的数据类型,对每个操作给出了算法和代码,主程序和模块都需要代码. (1)循环队列 #define maxlen 10 typedef struct{ ? ? ;]nelxam[ atad tni? ? ? ;tnorf tni? ;raer tni?}SeqQueue; (2)队列根本算法 SeqQueue *InitQueue(SeqQueue *q) //建立一个空循环队列 { q=(SeqQueue *) lloc(sizeof (SeqQueue)); ;0=tnorf>-q? ;0=raer>-q? ;q nruter?} int QueueFull (SeqQueue *q){ //判断队列是否为满 if (q-〉front==(q->rear+1)% xlen) ? ;1 nruter? else return 0; } int QueueEmpty(SeqQueue *q){ ? //判断队列是否为空 )tnorf>
—q==raer>—q( fi?
return 1; else return 0; } void Add (SeqQueue *q,int x) //入队 { {))q(lluFeueuQ!(fi? ? ;nelxam%)1+raer>-q(=raer>-q? q—〉data[q-〉rear]=x; } ;)”lluf eueuq"( ftnirp esle?} void Delete(SeqQueue *q){ //出队 ))q(ytpmEeueuQ!( fi? ;nelxam%)1+tnorf>—q(=tnorf>—q? else printf ("queue Empty"); } (3)用display()函数输出循环队列元素 void display(SeqQueue *q) // ? 素元的q列队环循出输?{ ;i tni? )raer>-q=!tnorf>-q(fi? ? ? //循环队列非空,输出队列元素 { ? printf("输出循环队列元素:"); ? ;tnorf〉-q=i? od? { ;nelxam%)1+i(=i? ? ;)]i[atad>—q,"d%"(ftnirp? }while(i!=q->rear); } else printf(”队列为空!"); } (4)在主函数中先往队列里输入 5 个元素,输出,看入队是否成功,然后出队,再调用 display()函数看是否出队. int main() { ;q* eueuQqeS? ;y,i tni? q=InitQueue(q); // ? ? 列队环循