import java.util.Scanner;
public class BinarySearch {
public static int binarySearch(int[]a,int x,int n)
{
int left=0;
int right=n-1;
if(a[left]<=a[right]) //从左向右递增的数组
{
while(left<=right){
int middle=(left+right)/2;
if(x==a[middle])
return middle;
if(x>a[middle])
left=middle+1;
else right=middle-1;
}
}
else{ //从左向右递减的数组
while(left<=right){
int middle=(left+right)/2;
if(x==a[middle])
return middle;
if(x>a[middle])
right=middle-1;
else left=middle+1;
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载