假设以带头结点的循环链表表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法。
时间: 2023-06-05 21:48:12 浏览: 255
520 表表表.... 白用的.zip
队列初始化算法:
1. 初始化头结点,使其指向自己。
2. 将队尾指针指向头结点。
3. 将队列长度设置为0。
入队列算法:
1. 创建一个新的结点,并将数据存入其中。
2. 将新结点插入到队尾指针所指向的结点之后。
3. 将队尾指针指向新结点。
4. 队列长度加1。
出队列算法:
1. 判断队列是否为空,如果为空则返回错误信息。
2. 将头结点的下一个结点保存到一个临时变量中。
3. 将头结点的下一个结点从链表中删除。
4. 如果删除的结点是队尾指针所指向的结点,则将队尾指针指向头结点。
5. 队列长度减1。
6. 返回删除的结点中存储的数据。
阅读全文