查找

本文介绍了一种在单链表中查找特定正整数元素的算法实现。每个结点包含5个正整数(不满用0填充),通过遍历链表并逐个检查结点内的元素来定位目标值。若找到,则返回所在结点指针及其在结点中的位置;否则返回空指针。

在单链表中,每个结点含有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;
    }
}

 

转载于:https://www.cnblogs.com/520xiuge/p/5731065.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值