首页 > 代码库 > 二分查找binarySearch
二分查找binarySearch
1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <string.h> 4 5 #define ARRAY_SIZE 10 6 7 int binarySearch(int *arr, int size, int target) 8 { 9 int low = 0;10 int high = size - 1;11 while (low < high)12 {13 int mid = low + (high - low) / 2;14 //当low+high超过整数范围会发生溢出,变为负数15 //int mid = (low + high) / 2; 16 if (arr[mid] < target)17 {18 low = mid + 1;19 } 20 else if (arr[mid] > target)21 {22 high = mid - 1;23 }24 else25 {26 return mid;27 }28 }29 return -1;30 }31 int main(int argc, char **argv)32 {33 int array_unsort[ARRAY_SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};34 int pos = binarySearch(array_unsort, ARRAY_SIZE, 6);35 printf("The target is in pos = %d\n", pos);36 getchar();37 return 0;38 39 }
二分查找binarySearch
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。