当我们在C语言学习过程中已经学过for循环while循环以及数组的定义那么我们可以用 这些结构来实现二分有序查找 我们要对这个数组进行二分查找 假设我们要查找的数字为 5 如果简单的用for循环从0到8去找 要找5次才能找到如果数据更多那么找我们需要确定数 字的次数就更多,那么我们来用数学里面的二分查找来实现 当然在实现之前我们先来介绍一下二分查找 可以看出如果用二分查找2次就能找到 其实二分查找的次数为log2 2^n = n 就是一个2^n 的数最多用n次就能判断是否能找到 如果用从前往后找 最多能找2^n 次 当我们知道求解逻辑之后 下面进行代码展示 通过代码我们可以看到该过程确实能找到我们需要的值的下标 这里需要注意的是 1.我们使用while循环是因为并不知道需要多少次能找到我们需要的下标 2.在while判断的过程中判断条件要为left <= right 因为在在利用mid交换加减之后可能 会产生使left和right同时指向同一个下标所以要带上等号 其他的小细节都在代码图片中 最后如果你感觉对你有帮助 ,请点吧。