在一个循环链队中只有尾指针(记为rear,结点结构为数据源data,指针域为next,没有管理头结点),请给出这个队列的入队、出队实现过程。
时间: 2024-05-29 19:11:47 浏览: 104
数据结构算法-习题-答案-带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点注意不设头指针.docx
5星 · 资源好评率100%
入队实现过程:
1.申请一个新的结点,假设为newNode,将待插入元素data存储在newNode的数据源data中。
2.如果队列为空,令rear指向newNode,令newNode的指针域next指向自己,即newNode->next=newNode。
3.如果队列不为空,令newNode的指针域next指向rear的下一个结点,即newNode->next=rear->next。然后令rear的指针域next指向newNode,即rear->next=newNode。最后令rear指向newNode,即rear=newNode。
出队实现过程:
1.如果队列为空,返回错误。
2.如果队列只有一个元素,令rear指向NULL,然后释放该元素的内存空间。
3.如果队列有多个元素,令头结点指向rear的下一个结点,即头结点=head=rear->next。然后令rear的指针域next指向头结点的下一个结点,即rear->next=head->next。最后释放头结点所指向的内存空间。
阅读全文