设一个长度大于 1 的循环单链表中,既无头结点也无头指针, p 为指向该链表中某个结点的指针,以下为一个删除该结点直接前驱结点的算法。 void delete(LinkList p) { // 在一个既无头结点也无头指针的长度大于一的循环链表中, // 删除指针 p 所指的某个结点的直接前驱结点 q= ( 1 ) ; // 查找 p 结点的前驱结点 q while(q->next!=p) q= ( 2 ) ; r=q; // 查找 q 结点的前驱结点 r while( ( 3 ) ) r=r->next; r->next= ( 4 ) ; free(q); }