#include <stdio.h>
int binarySearch(int a[], int n, int key){
int low = 0;
int high = n-1;
int mid;
while(low <= high){
mid = (low+high)/2;
if(a[mid] >key)
high = mid-1;
else if (a[mid] < key)
{
low = mid+1;
}else if (a[mid] == key)
{
return key;
}
}
return -1;
}
int main()
{
int i, val, ret;
int a[/*8*/]={-32, 12, 16, 24, 36, 45, 59, 98};
for(i=0; i<8; i++)
printf("%d\t", a[i]);
printf("\n请输人所要查找的元素:");
scanf("%d",&val);
ret = binarySearch(a,8,16);
if(-1 == ret)
printf("查找失败 \n");
else
printf ("查找成功 \n");
return 0;
}
查找算法之二分查找
最新推荐文章于 2024-08-09 12:03:10 发布