假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素节点(注意不设头指针),编写相应的队列初始化、入队列和出队列的算法。
时间: 2024-04-30 14:09:52 浏览: 25
假设以带头结点的循环链表表示一个队列,并且只设一个队尾指针指向尾元素结点(注意不设头指针),试写出相应的置空队、入队、出队的算法 (Java)
队列初始化:
1. 创建一个带头结点的循环链表,并设置指针指向头结点。
2. 初始化队列大小为0。
入队列:
1. 创建新的链表节点,并将新节点的值设置为要入队的值。
2. 将新节点插入到队尾元素节点之后。
3. 更新队尾元素节点的指针指向新节点。
4. 更新队列大小。
出队列:
1. 如果队列为空,返回null或者抛出异常。
2. 获取头结点的下一个节点,即要出队的节点。
3. 将头结点的下一个节点更新为要出队节点的下一个节点。
4. 更新队列大小。
5. 返回要出队的节点的值。
阅读全文