C语言-----二分查找

二分查找/折半查找

#including<stdio.h>
#include <string.h>
#include<assert.h>
int Binaryserach(int *arr,int len)
{
assert(arr != NULL);                     //断言
int low = 0;
int high = len -1;
int number;
printf('输入你所要查找的数在序列中的位置:\n");
scanf("%d",&number);
while(low < high)
{
int mid = (low + high)/2;
if(arr[mid] == number)
{
return mid;
}
else if(arr[mid] < number)
{
low =mid +1;
}
else
{
high = mid - 1
}
return -1;
}
}
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9};
len = sizoof(arr)/sizoof(arr[0]);
prinntf("%d\n",Binaryserach(arr,len));
return 0;
}

猜你喜欢

转载自blog.csdn.net/FDk_LCL/article/details/83833018