设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 12:18:05
设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法

设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法
设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法

设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法
尾指针为L,
节点p入队
if(L==NULL) //空队列
{
p->next=p;
}
else
{
p->next=L->next;
L->next=p;
}
L=p;
出队:
node *p;
if(L==NULL) //空队列
return NULL;
if(L->next==L)//就一个节点
{
p=L;
L=NULL;
}
else
{
p=L->next;
L->next=p->next;
}
p->next=NULL; //可以不用
return p;