1、按序号查找
LNode *GetElem(LinkList L,int i){
if(i<1)
return NULL;
int j=1;
LNode *p=L->next;
while(p!=NULL&&j<i){
p=p->next;
j++;
}
return p;
}
2、按值查找
LNode *LocateElem(LinkList L,ElemType e){
LNode *p=L->next;
while(p!=NULL&&p->data!=e)
p=p->next;
return p;
}
3、插入结点
①前插(时间复杂度为O(n))
p=GetElem(L,i-1);
s->next=p->next;
p->next=s;
②后插(时间复杂度为O(1))
s->next=p->next;
p->next=s;
temp=p->data;
p->data=s->data;
s->data=temp;
4、删除结点
①时间复杂度为O(n)
p=GetElem(L,i-1);
q=p->next;
p->next=q->next;
free(q);
②时间复杂度为O(1)
q=p->next;
p->data=p->next->data;
p->next=q->next;
free(q);