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

尾指针为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;