Initial(LinkList &L){
L =(LinkList)malloc(sizeof(LinkList));int x;
LNode *p,*r = L;//需添加尾指针,以便进行插入while(true)//输入9999结束输入{scanf("%d", x);if(x ==9999)break;
p =(LNode *)malloc(sizeof(LNode));
p->data = x;
p->next =NULL;
r->next = p;
r = p;//尾指针恒指向最后一个结点}return true;}
求表长
Length(L){int i =0;while(L !=NULL){
i++;
L = L->next;}return i;}
按值查找
LocateElem(L, e){
LNode *p;
p = L->next;int i =1;while(p->data != e && p !=NULL){
p = p->next;
i++;}if(p->data != e || p ==NULL)return false;return i;}
按位查找
GetElem(L, i){
LNode *p;
p = L->next;int j =1;while(j < i && p !=NULL){
p = p->next;
j++;}if(j > i || p ==NULL)return false;return p->data;}
插入
ListInsert(&L, i, e){
LNode *p,*q;
p = L->next;int j =1;while(j < i -1&& p !=NULL){
p = p->next;
j++;}if(j > i -1|| p ==NULL)return false;
q->data = e;
q->next = p->next;
p->next = q;return true;}
删除
ListDelete(&L, i,&e){
LNode *p,*q;
p = L->next;int j =1;while(j < i -1&& p !=NULL){
p = p->next;
j++;}if(j > i -1|| p ==NULL)return false;
q = p->next;
e = q->data;
p->next = q->next;free(q);return true;}
按值删除(first)
ListDelete(&L, e){
LNode *p,*q;
p = L;
q = L->next;while(q->data != e && q !=NULL){
p = q;
q = q->next;}if(q->data != e || q ==NULL)return false;
p->next = q->next;free(q);}