c语言如何用折半查找法查找并统计人数啊?急呀!
发布网友
发布时间:2022-04-24 06:29
我来回答
共1个回答
热心网友
时间:2022-06-16 21:10
折半法查找只是用于一种情况,就是数据是按顺序排列的
也就是说数据时排好序的,要不然没法用这个办法查找
算法分三步,一步是判断要查找的数是否在这些数据当中,因为是顺序的,所以判断两端
如果不在,直接break就可以,没有必要查找了
第二步是判断是否是两个端点,要是两个端点的一个,那也不用查找了
第三步就是循环查找,两个指针也可以,用数组下标也可以
这样判断如ab两个指针式只想头尾,那么判断第三个指针,也就是(a+b)/2是否是要找的数据,是的话跳出循环,不是判断(a+b)/2和a b的大小,吧中间指针赋值给a或者b,循环吧
如果a-b==1了还没有查找到,那么这个数就不在这些数据当中,如果中间指针是要查找的数据,那么就跳出吧