首页 > 代码库 > 二分查找算法
二分查找算法
1 #include <stdio.h> 2 3 int binarySearch(int *array, int length, int num); 4 int main(int argc, const char * argv[]) { 5 6 int array[] = {1, 2, 3, 4, 5}; 7 8 int length = sizeof (array) / sizeof(int); 9 10 int a = binarySearch(array, length, 4);11 12 printf("%d\n",a);13 14 return 0;15 }16 17 int binarySearch(int *array, int length, int num)18 {19 int low = 0;20 int high = length - 1;21 while (low <= high)22 {23 int middle = (low + high) / 2;24 25 if (array[middle] == num)26 {27 return middle;28 }29 else if(array[middle] > num)30 high = middle - 1;31 else32 low = middle + 1;33 }34 return 0;35 }
二分查找算法就是不断将数组进行对半分割,每次拿中间元素和要查找的元素进行比较;总数是偶数时,中间元素就是靠前的一个。比较之后,根据结果确定要查找的元素在前半部分还是后半部分。然后继续循环比较。
二分查找算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。