1.存储结构描述
typedef struct LNode
{
Elemtype data;
struct LNode *next;
}LNode,*CLinkList;
void init(CLinkList &T)
{
L->next=L;
}
2. 有两种循环方法,但是都无法解决需要删除第一个结点时候循环链表的连续问题,可能需要题目进一步约束吧
void DeletePre(CLinkList &L,Elemtpye x)
{
LNode *p=L->next,*q=L,*r=L;
while(p->data!=x)
{
r=q;
q=p;
p=p->next;
}
r->next=p;
delete q;
}
void DeletePre(CLinkList &L,Elemtpye x)
{
LNode *p=L,*q=L,*r=L;
while(p->next!=NULL)
{
p=p->next;
if(p->data==x)
break;
r=q;
q=p;
}
delete q;
r->next=p;
}