双端队列测试用例课件.ppt
《双端队列测试用例课件.ppt》由会员分享,可在线阅读,更多相关《双端队列测试用例课件.ppt(40页珍藏版)》请在三一办公上搜索。
1、实验报告:特殊的线性表,班级:计算机软件工程,第一小组,第一小组人员名单,双端队列 定义双端队列的抽象数据类型;设计存储结构存储双端队列;设计双端队列的插入和删除算法;分析算法的时间性能。,栈操作实验 建立一个空栈 对已建立的栈进 行插入、删除、取栈顶元素等基本操作。,实验内容,特殊的线性表,特殊的线性表共提交文档,双端队列和栈测试操作说明书.DOC,双端队列和栈详细设计说明书.DOC,试验二:特殊的线性表.doc,数据结构上机试验人员 Top组.doc,数据结构实验会议纪要,源程序和可执行程序,数据结构上机试验演示.PPT,栈和双端队列的章节安排,双端队列,栈,每实验均六章,测试结果,需求分
2、析,用户使用方法,调试分析,概要设计,详细设计,双端队列 需求分析,1.双端队列定义双端队列是一个两端都是结尾的队列,是在简单队列数据结构上的改进,其数据结构类似于双向链表,在每头分别设有对头和队尾两个指针;双端队列是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表两端进行;双端队列在队列的基础上,对其进行了堆栈化;2.双端队列特点双端队列同时具有队列和栈的性质;双端队列中的元素可以从两端弹出;如果严格禁用右段的操作,双端队列功能就和栈一样;如果严格禁用左段的操作,它的功能就和队列一样;双端队列与栈或队列相比,是一种多用途的数据结构,在容器类库中有时会
3、用双端队列来提供栈和队列两种功能。双端队列由程序员是控制的,双端队列 需求分析,3.双端队列功能 设计双端队列的数据结构,实现入队、出队等基本操作;4.双端队列实验的基本运算定义双端队列的抽象数据类型;设计存储结构存储双端队列;分析算法的时间性能;双端队列初始化;双端队列清空双端队列头插入双端队列头取数据双端队列尾插入 双端队列尾取数据5.双端队列实验的接口要求用户能输入数据,和程序能有交互,双端队列 需求分析,下图是我们对这个双端队列实验的感性认识,双端队列,TAILPTR,HEADPTR,Next,Prev,Object,Next,Prev,Object,Next,Prev,Object,
4、NULL,Application Data,Application Data,Application Data,NULL,双端队列 概要设计,该程序主要实现以下5个功能:1.从队列首输入数据2.从队列尾输入数据3.从队列首取数据4.从队列尾取数据5.队列清空,双端队列 概要设计,针对需要实现的功能做出详细的算法设计采用双向队列来实现,队列中有两个指针,一个指针指向队首结点,一个指向队尾结点。定义一个结构体,其中包含一个数据域和两个指针域,数据域用来存放数据,一个指针域用来存放指向前驱结点的指针,另一个指针域用来存放指向后继结点的指针。1.新建结点就是分配一个新的内存空间。2.每次分配空间都需要
5、判断是否能分配到内存空间,如果未得到内存空间则终止当前操作。3.队列中只有头结点,该队列即为空队列。以上3点后面不再重复说明。,双端队列 概要设计,一、从顶部入队列新建一个结点,如果队列为空,则将队列的队首指针和队尾指针均指向新建结点,如不为空则将队首指针指向新建结点,并将新建结点的后继指针指向原队首结点,原队首结点的指针指向新建结点。二、从顶部出队列首先判断队列是否为空,如为空则提示队列为空,如不为空则将队首结点赋给临时结点。将队首结点的后继指针赋给队列的队首指针,再将队首结点的前驱指针置空。最后返回临时结点或所需要的数据。三、从底部入队列新建一个结点,如果队列为空,则将队列的队首指针和队尾
6、指针均指向新建结点,如不为空则将队尾指针指向新建结点,并将新建结点的前驱指针指向原队尾结点,原队尾结点的指针指向新建结点。四、从底部出队列首先判断队列是否为空,如为空则提示队列为空,如不为空则将队尾结点赋给临时结点。将队尾结点的前驱指针赋给队列的队尾指针,再将队尾结点的后继指针置空。最后返回临时结点或所需要的数据。五、队列清空将队列的队首指针和队尾指针置空即可。,双端队列 详细设计,双端队列数据类型 typedef struct nodeptr datanode;typedef struct nodeptr void*data;datanode*prev,*next;node;typedef
7、struct node*head,*tail,*cursor;int size,item_deleted;queue;,双端队列 详细设计,双端队列实现的功能int Q_Init(queue*q);函数:初始化队列int Q_Empty(queue*q);函数:队列清空int Q_PushHead(queue*q,int*d);函数:数值入队列首int Q_PushTail(queue*q,int*d);函数:数值入队列尾int Q_PopHead(queue*q);函数:首部出队列int Q_PopTail(queue*q);函数:尾部出队列,双端队列 调试分析,Step 1 运行主程序显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 队列 测试 课件
链接地址:https://www.31ppt.com/p-3808922.html