首页 / 资讯中心 / 文章详情

二分查找(折半查找)

二分查找(折半查找) ★ FEATURED ARTICLE
一.下标公式1.leftright/ 2 mid2.新left mid 1 (小于值3.新right mid - 1 大于值4.数组下标最大值sizeof(arr)/sizeof(arr[0])-1n个元素至多查找log2 n 次二.前提数列是升序三.格式举例intarr[]{1,2,3,4,5,6,7,8,9,10}intleft0;intrightsizeof(arr)/sizeof(arr[0])-1;intmid(leftright)/2;//若用left / 2 right / 2(两个都是奇数不行//更精确时用(right - left) / 2 left(避免值会超过INT_MAX出现问题intneed0;while(rightleft){if(arr[mid]need)leftmid1;elseif(arr[mid]need)rightmid-1;elseprintf(找到了)break}if(leftright)printf(找不到)
阅读完成 · 觉得有帮助?
咨询建站