0
点赞
收藏
分享

微信扫一扫

折半查找数据,折半查找插入位置

//折半查找函数



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;//数组中查找不到
}

举报

相关推荐

0 条评论