#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int bin_search(int arr[],int key,int left,int right)
{
while(left<=right)
{
int mid = left-(left-right)/2;
if(arr[mid]>key)
{
right = mid - 1;
}
else if(arr[mid]<key)
{
left = mid = 1;
}
else
{
return mid;
}
return -1; //因为0是下标,因此返回值可设定为-1,下标中无-1
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9}
int ret =bin_search(arr,5,3,8)//意为在5与8之间寻找3
if(ret == -1)
printf("no\n");
else
{
printf("%d\n",ret);
}
system ("pause\n);
return 0;//此题输出结果为no
}
转载请注明原文地址: https://ju.6miu.com/read-971131.html