Status GetElem_L(LinkList L,int i, ElemType &e){
LinkList p;int j;
p = L->next; j =1;while(p&&j<i){
p = p->next;++j;}if(!p||j>i)return ERROR;
e = p->data;return OK;}
2.3 插入
Status Insert_L(LinkList &L,int i, ElemType e){
LinkList p;int j;
p = L; j =0;while(p&&j<i-1){
p = p->next;++j;if(!p||j>i-1)return ERROR;
LNode *s;
s =(LinkList)malloc(sizeof(LNode));
s->data = e;
s->next = p->next;
p->next = s;return OK;}}
2.4 删除
Status Delete_L(LinkList &L,int i, ElemType &e){
LinkList p;int j;
p = L; j =0;while(p->next&&j<i-1){
p = p->next;++j;}if(!(p->next)||j>i-1)return ERROR;
LinkList q;
q = p->next; p->next = q->next;
e = q->data;free(q);return OK;}
2.5 头插法
voidCreat_L(LinkList &L,int n){
L =(LinkList)malloc(sizeof(LNode));
L->next =NULL;
LinkList p;for(i=n; i>0; i--){
p =(LinkList)malloc(sizeof(LNode));scanf(&p->data);
p->next = L->next;
L->next = p;}}