public static void main(String[] args) {
int []array= {1,3,7,13,18,19,20};
int num=18;
int start=0;
int tag=0;
int end=array.length-1;
int half=0;
while(end>=start) {
half=(start+end)/2;
if(array[half]>num) {
end=half-1;
}
else if(array[half]<num) {
start=half+1;
}
else {
if(array[half]==num) {
tag=half;
break;
}
}
}
System.out.println(tag);
}
方法二
public static void main(String[] args) {
int []array= {1,3,7,13,18,19,20};
int tag=Arrays.binarySearch(array, 18);
System.out.println(tag);
}
数组二分查找
最新推荐文章于 2023-09-22 01:39:15 发布