在一个结点数大于1,无头结点的循环链表,s指向其中某个节点,请写一个函数删除他的前驱结点
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
void(LNode *s)
{
LNode *p1,*p2,*p3;
p1=s;
p2=p1->next;
p3=p2->next;
while(p3!=s)
{
p3=p3->next;
p2=p2->next;
p1=p1->next;
}
p1->next=p3;
free(p2);
}