数据结构:3.1.1引子 顺序查找

 

用一个结构来指向这个数组:

这个结构有两个分量:一个是指针指向 数组的头

一个是10(代表这个数组中放的元素有多少个)

 注意观察,这个数组不是从0开始存储

这是程序设计中的一种技巧,叫做哨兵

 解释哨兵:

在数组的循环中不断去找下一个

退出循环有两种条件:

(1)相等

(2)碰到边界:通过下标来判断

(没有哨兵是不是每一次循环都要判断边界啊???答:是的,所以写了哨兵就可以在循环中少写一个判断的分支)


 

 

 

分析这个循环中哨兵的实现:
已知要在这个数组中查找K(那么值等于K就是循环中止的一个条件),将哨兵的值赋为K, 就算没找到K,也会跳出循环。

这样跳出循环就有两种可能的原因,通过i的值判断,是找到了K还是没有

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值