public int binarySearch(int[] arr,int key){
if (arr == null) {
return -1;
}
int length = arr.length;
if (length == 0) {
return -1;
}
int mid = length/2;
if (arr[mid] == key) {
return mid;
}
int start = 0;
int end = length-1;
while (start <= end) {
mid = (end - start)/2+start;
if (arr[mid] < key) {
start = mid +1;
} else if (arr[mid]>key) {
end = mid -1;
}else{
return mid;
}
}
return -1;
}