//折半查找函数
int binary_search(code array[],int search)
{
int middle,front=0,rear=9;
while(front<=rear) //这是算法的关键,判断查找成功失败的条件,建议仔细理解,找个算法书上的图示看看
{
middle=(front+rear)/2;
if(search==array[middle].num)
return middle; //查找成功,返回middle即是要查数据在新数组中的位置
else if(search>array[middle].num)
front=middle+1; //暂时没有找到的情况
else
rear=middle-1;
}
if(front>rear) return -1; //查找失败返回-1
}
//折半查找,***首先要保证查找的数组是有序的***
public static int search(int arr[],int key)
{
int min=0,max=arr.length-1,mid=0;
while(min<=max)
{
1;//除以2
if(arr[mid]>key)
{
1;
}
else if(arr[mid]<key)
{
1;
}
else
return mid;//返回要查找元素的下标
}
return min;//数组中查找不到
}