单循环列表的删除前驱结点

假设在长度大于1的单循环链表,既无头结点,也无头指针,S为指向链表中某个结点的指针,试设计删除结点S的直接前驱结点的算法。
方法一:
link *p,*q;
p=s;
while(p->next->next!=s)
{p=p->next;}
q=p->next;
p->next=s;
delete q;

方法二:
Node *p=S; 
while(p->next->next!=S)
{
p=p->next;
}
free(p->next);
p->next=S;



posted @ 2013-10-30 13:22  天天向上...  阅读(1100)  评论(0)    收藏  举报