Write a function to perform binary search on integer arrays.

//5. Write a function to perform binary search on integer arrays.
#include<stdio.h>
#include<windows.h>
int binary_search(int arr[], int key, int left, int right)
{
int mid = left - (left - right) / 2;
while (left <= right)
{
if (key < arr[mid])
{
right = mid - 1;
mid = left - (left - right) / 2;
}
else if (key > arr[mid])
{
left = mid + 1;
mid = left - (left - right) / 2;
}
else
{
printf("mid=%d arr[mid]=%d\n", mid, arr[mid]);
return 1;
}
}
return 0;
}


int main()
{
int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int key = 6;
binary_search(arr, key, 0, 9);
system("pause");
return 0;
}

Guess you like

Origin blog.csdn.net/lxp_mujinhuakai/article/details/53730186