按位查找
#define NULL 0
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
//按位查找,返回第i个元素(带头结点)
LNode* GetElem(LinkList L,int i){
if(i<0)
return NULL;
LNode *p = L;
int j= 0;
while (p!=NULL && j<i) //循环找到第i个结点
{
p = p->next;
j++;
}
return p;
}
按值查找
//按值查找,找到数据==e的结点
LNode *LocateElem(LinkList L,int e){
LNode *p = L->next; //从第一个结点开始
while (p!=NULL && p->data != e)
p = p->next;
return p; //找到该结点后,返回指向该结点指针,否则返回NULL
}
求表长
int length(LinkList L){
int len = 0;
LNode *p = L;
while (p->next != NULL)
{
p = p->next;
len++;
}
return len; //返回表长
}