作为一名程序员,重新找回自己敲代码的感觉,做最好的自己。
#include <stdio.h>
int binary(int *array, int n, int num)
{
int low = 0, mid = 0, high = n-1 ;
while (low<=high) {
mid = (low+high)/2 ;
if (array[mid] == num) {
return 1 ;
} else if (array[mid]>num) {
high = mid - 1 ;
} else {
low = mid + 1 ;
}
}
return -1 ;
}
int main (void)
{
int array[10] = { 1,2,3,4,5,6,7,8,9,10 } ;
int num ; // 查找的数字
scanf("%d" , &num) ;
if (binary(array, 10, num)!=-1) {
printf ("yes\n") ;
} else {
printf ("no\n") ;
}
return 0 ;
}
重点:数据初始化一定是有序!!!