设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 12:58:04
![设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法](/uploads/image/z/8554575-39-5.jpg?t=%E8%AE%BE%E7%94%A8%E4%B8%80%E4%B8%AA%E5%BE%AA%E7%8E%AF%E9%93%BE%E8%A1%A8%E6%9D%A5%E8%A1%A8%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%98%9F%E5%88%97%2C%E8%AF%A5%E9%98%9F%E5%88%97%E5%8F%AA%E8%AE%BE%E4%B8%80%E4%B8%AA%E5%B0%BE%E6%8C%87%E9%92%88%2C%E8%AF%95%E5%88%86%E5%88%AB%E7%BC%96%E5%86%99%E5%90%91%E5%BE%AA%E7%8E%AF%E9%98%9F%E5%88%97%E6%8F%92%E5%85%A5%E5%92%8C%E5%88%A0%E9%99%A4%E4%B8%80%E4%B8%AA%E7%BB%93%E7%82%B9%E7%9A%84%E7%AE%97%E6%B3%95)
设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法
设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法
设用一个循环链表来表示一个队列,该队列只设一个尾指针,试分别编写向循环队列插入和删除一个结点的算法
尾指针为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;