牛骨文教育服务平台(让学习变的简单)

循环链表是指在单链表的最后一个节点链域值不是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;

}