顺序查找

静态查找之顺序查找

//顺序查找 
#include<iostream>
using namespace std;

struct LNode {
	int Element[100];
	int Length; 
};

int SequentialSearch(LNode *Tbl, int K)
{   int i;
    Tbl -> Element[0] = K;
    for(i = Tbl->Length; Tbl->Element[i] != K; i--);
    return i;
}

int main()
{
	LNode test = { {0,1,2,3,4,5,6,7,8,9}, 9};//待比较数据从第二个开始,第一个位置用来设置哨兵 
	int result, num = 8;
    result = SequentialSearch(&test, num);
    if(result == 0)
        cout<<"没找到!"<<endl;
    else
        cout<<"在m["<<result<<"]里找到"<<num-2 <<endl;
    system("pause");
    return 0;
}

上面用了一个技巧,设置“哨兵”。就是将数组第一个,下标为零的元素设置为待查询的值,查找算法返回查找值得索引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值