public
class
SearchTest
...
{
public static void main(String[] args) ...{
int[] a = ...{0,5,7,8,14,25,52,78,98,100};
int rst=BinarySearch(8,a);
System.out.println(rst);
}
static int BinarySearch(int target,int[] arr) ...{
int len=arr.length;
int startPos=0;
int endPos=len-1;
int midPos=(startPos+endPos)/2;
while(startPos<=endPos) ...{
if(arr[midPos]==target) return midPos;
else if(arr[midPos]>target) ...{
endPos=midPos-1;
}
else ...{
startPos=midPos+1;
}
midPos=(startPos+endPos)/2;
}
return -1;
}
}
public static void main(String[] args) ...{
int[] a = ...{0,5,7,8,14,25,52,78,98,100};
int rst=BinarySearch(8,a);
System.out.println(rst);
}
static int BinarySearch(int target,int[] arr) ...{
int len=arr.length;
int startPos=0;
int endPos=len-1;
int midPos=(startPos+endPos)/2;
while(startPos<=endPos) ...{
if(arr[midPos]==target) return midPos;
else if(arr[midPos]>target) ...{
endPos=midPos-1;
}
else ...{
startPos=midPos+1;
}
midPos=(startPos+endPos)/2;
}
return -1;
}
}