用折半查找数组中是否有某个元素效率是很高的,它是通过定义左右两个下标,每次用数组中间的元素与要找的元素进行大小比较,若不相等,则修改左下标,或者右下标,以此类推当左下标小于等于右下标时一直循环查找。
方法一:
注意:
(1)注意形参和实参对应的写法区别(2)为了使返回结果比较难集中,用if-else语句写在一起
(3)注意防止俩个元素相加结果溢出的处理
(4)折半查找只适应于大小有序的数组
#include <stdio.h>
int bin_search (int key, int arr[], int sz) //定义函数三个形参,要查找的数、数组、数组长度
{
int mid=0,left=0;
int right=sz-1; //由于在函数内部不能使用sizeof关键字直接计算数组长度,