//按位查找,返回第i 个元素带头节点
LNode * GetElem (LinkList L, int i){
if(i < 0) return NULL;
LNode *p; //指针p 指向当前要扫描到的结点
int j = 0;// 当前p所指向的是第几个结点
p = L;//L指向头节点 ,头节点是第0个结点
while(p!=NULL && j < i ){//循环找到第i 个结点。
p = p->next;
j++;
}
return p;
}
**按值查找**
```cpp
LNode * LocateElem (LinkList L ,Elemtype e){
LNode *p = L->next;
//从第一个结点开始查找数据域为e的结点
while(p !=NULL && p->data != e){
p=p->next;
}
return p;
}
求单链表的长度
int Length (LinkList L){
int len = 0; //统计表长
LNode *p = L;
while(p->next != NULL){
p =p->next;
len++;
}
return len;
}
}