循環鏈表是指在單鏈表的最后一個節點鏈域值不是NULL,而是指向頭節點,整個鏈表形成一個環。h->next=h;
循環鏈表的操作和單鏈表基本一致,但是需要在算法中的循環條件p或者p->next是否為空改成是否等于頭指針。
下面以循環鏈表中查找值為x的結點為例來討論如何實現算法。
~~~
Lnode *get (Lnode *h ,elemtype x)
{
Lnode *p;
p=p->next;
while(p!=h&&x!=p->data)
p=p->next;
return p;
}
~~~