//查询一个链表的节点值
void GetElem_L(LinkList L,int i,ElemType &e){
LinkList p=L->next;
int j=1;
while(p!=NULL&&j<i){
p=p->next;
j++;
}
if(p==NULL||j>i)
return 0;
e=p->data;
return 1;
}
//增加一个链表的节点
void Insert_L(LinkList L,int i,ElemType &e){
LinkList p=L;
while(p!=NULL&&j<i-1)
{
p=p->next;
j++;
}
if(j>i-1||p==NULL)
return 0;
LinkList *q=(LinkList*)malloc(sizeof(LinkList));
q->data=e;
q->next=p->next;
p->next=q;
return 1;
}
//删除链表的一个节点
void DelElem_L(LinkList L,int i,ElemType &e){
LinkList p=L;
j=0;
while(p!=NULL&&j<i-1){
p=p->next;
j++;
}
if(p->next==NULL&&j>i-1)
return 0;
LinkList q=p->next;
p->next=q->next;
e=q->data;
free(q);
return 1;
}