单链表查找

//单链表,定义 
typedef struct LNode{
    datatype data;
    struct LNode *next;
}LNode,*linklist;
p=L->next;
//访问元素
p=p->next; 
while(p!=NULL)
{
    visit (p->data);
    p=p->next;
}
//打印元素 
void PrintLinklist(Linklist)
{
    p=p->next;
    while(p!=NULL)
    {
        print(p->data);
        p=p->next;
    }
}
//查找元素,返回指针 
LinkList find(Linklist,datatype x)
{
    p=L->next;
    while(p!=NULL)
    {
        if(x==p->data)
        return p;
        p->next;
    }
    return NULL;
} 
//查找元素,返回位序
Linklist find(Linklist, datatype x)
{
    p=L->next;i=1;
    while(p!=NULL)
    {

        if(p->data==x)
        return i;
        p=p->next;
        i++;
    }
    return NULL;
}
//另外写法
LinkList find(LinkList,datatype x)
{
    p=L->next;
    while(p&&p->data!=x)
    p=p->next;
    if(p&&p->data=x)
    return p;
    //或者
    while(p&&p->data!=x)
    p=p->next;
    return p; 
 }  

你可能感兴趣的:(数据结构)