新人求助~~请各位大神一定要帮忙~【双端队列】
数据结构的课程设计题目。平时没怎么好好学疏解。现在蛋疼了。。
真心求解各位大神~~
双端队列
一、问题描述
双端队列是插入和删除操作可以在两端进行的线性表,表的两端分别作端点1和端点2。设计双端队列的数据结构,实现入队、出队等基本操作。
二、基本要求
1. 定义双端队列的抽象数据类型;
2. 设计存储结构存储双端队列;
3. 设计双端队列的插入和删除算法;
4. 分析算法的时间性能。
三、设计思想
为便于双端队列的插入和删除操作,采用双链表存储双端队列,为使空表和非被代表的处理一致,双链表带头结点。在双链表中设指针end1指向头结点,指针end2指向终端结点。其顺序示意图如下:
入队操作的算法用伪代码描述如下:
1. 判断是插在端点1还是端点2:
1.1 若是在端点1插入,则将新结点插在头结点之后;
1.2 若是在端点2插入,则将新结点插在终端点之后;
出队操作的算法用伪代码描述如下:
1. 判断是在端点1还是端点2:
1.1 若是在端点1删除,则将开始结点删除;
1.2 若是在端点2删除,则将终端结点删除;
四、思考题
1. 设计并实现输出受限的双端队列,即一个端点允许插入和删除操作,另一端点只允许插入操作。
2. 设计并实现输入受限的双端队列,即一个端点允许插入和删除操作,另一端点只允许删除操作。