不带头节点只有一个尾结点rear的循环单链表,设计这种链队的进队、出队、队判空和求队中元素个数的算法
时间: 2024-05-29 13:09:14 浏览: 96
数据结构算法-习题-答案-带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点注意不设头指针.docx
5星 · 资源好评率100%
进队算法:
1. 判断rear是否为null,如果是,则创建一个新节点并将其赋值给rear,同时将rear的next指向自己,表示这是一个循环链表。
2. 如果rear不为null,则创建一个新节点并将其next指向rear的next,然后将rear的next指向这个新节点,最后将rear指向这个新节点。
出队算法:
1. 判断rear是否为null,如果是,则队列为空,不能进行出队操作。
2. 如果rear不为null,则将rear指向它的下一个节点,然后返回rear的数据,并将rear的next指向新的rear所指向的下一个节点。
队判空算法:
1. 判断rear是否为null,如果是,则队列为空。
2. 如果rear不为null,则判断rear的next是否指向自己,如果是,则队列为空,否则不为空。
求队中元素个数算法:
1. 判断rear是否为null,如果是,则队列为空,元素个数为0。
2. 如果rear不为null,则从rear的下一个节点开始遍历,直到回到rear节点,每经过一个节点,计数器加1,最后返回计数器的值即为队列中元素的个数。
阅读全文