查找

在单链表中,每个结点含有5个正整数的数据元素(若最后一个结点的数据元素不满5个,用0填充),试编写一个算法查找值为n(n>0)的数据元素所在的结点指针及在该结点中的序号,若链表中不存在该数据元素,则返回空指针

算法描述如下:

typedef struct node{
    int A[m]; //每个结点含有m个元素,本例m为5
    struct node *next;
}LNode,*Linklist;

typedef struct{
    int j; //元素在结点中的序号
    LNode *p; //结点的指针
}rcd;

rcd *search(LinkList head,int n)
{
    LNode *q = head->next;
    rcd R;
    int i;
    while(q)
    {
        for(i=0;i<m;i++)
            if(q->A[i] == n)
                break;
        q = q->next;
    }
    if(!q) return NULL;
    else{
        R.j = i;
        R.p = q;
        return R;
    }
}

 

posted @ 2016-08-02 22:53  我在这儿  阅读(274)  评论(0编辑  收藏  举报