C语言数组查找的方法

    上一个章节我们讲完了数组的概念和基本用法,接下来我会为大家仔细的讲解数组的查找和排序方法,代码稍微有点复杂,但相信大家一定掌握的,来喽!!!

首先我们讲完数组查找的方法:

数组查找的方法分为2种:

1.顺序查找

2.二分查找

顺序查找顾名思义就是在一个数组中挨个数查找,代码如下:

 这是顺序查找的排序部分,我们用for循环访问数组,在挨个查找目标数字,如果找到该数字,则返回该数组的下标,没有该数字就返回-1.

接下来是main函数的主体,我们调用这个searchnumber函数,如果最后result函数不等于-1时,就意味着找到该数字了,否则就没有找到该数字。

 但是顺序查找的效率太低了,假如给你10000个数字,查找需要很长的时间,所以我们这里推出二分查找,分析如下:

前提:使用二分查找的必须为有序数列(很重要)

       1 2 3 4 5 6 7 8 9 10

下标0 1 2 3 4 5 6 7 8 9

假设我们要找7这个数字

1.找出数组的中间元素

(0+9)/2=4;

下标为4对应的数字为5,5<7,则5左边不会有7,则再次从6开始查找,这样查找的范围缩小了一半,所以叫做二分查找或折半查找。

接下来(5+9)/2=7,下标为7对应的是8,因为8比7大,则去掉8后面的数字。

再进行(5+6)/2=5,对应的数字为6,6<7,这样被查找的范围只剩下了7,即7可以被找到。

那完整的代码如下:

 相信大家看完之后一定会对数组查找不再害怕喽,快来尝试吧!!!

  • 23
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C语言小白的基础课

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值