int j;
p=L;j=0;
while(p&&j<i)
{
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;
}/*ListInsert Before i */
//删除操作
int ListDelete(LinkList &L,int i,ElemType &e)
{
LinkList p,q; int j; p=L;j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i) return ERROR;
q=p->next;
p->next=p->next->next; e=q->data; free(q);
return OK;
}
// 头插法建表
int CreateList(LinkList &L,int n)
{
LinkList p; L=(LinkList)malloc(sizeof(LNode)); if(!L) return ERROR; L->next=NULL; for(int i=n;i>0;i--) { p=(LinkList)malloc(sizeof(LNode)); if(!p) return ERROR;