链表
单链表的插入和删除
插入
Status ListInsert(LinkList &L,int i,ElemType e)
{
p=L;j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i-1)
return ERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;
s>next=p->next; p->next=s;
return OK;
}
删除
Status ListDelete(LinkList &L,int i,ElemType &e)
p=L;j=0;
while((p->next)&&j<i-1)
{
p=p->next;
j++;
}
if(!(p->next)||j>i-1) return ERROR;
q=p->next;
p->next=q->next;
e=q->data;
free(q);
return OK;
}