// 二分使用在有序的数据查询中
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
arrayList.add(1);
arrayList.add(3);
arrayList.add(4);
arrayList.add(5);
arrayList.add(6);
arrayList.add(7);
arrayList.add(8);
arrayList.add(9);
arrayList.add(10);
arrayList.add(11);
System.out.println(arrayList.toString());
int num = 8;
int count = -1;
int low =0;
int high = arrayList.size()-1;
System.out.println(high);
while (low <= high){
int tgr = (high+low)/2;
System.out.println(tgr);
int integer = Integer.valueOf(arrayList.get(tgr).toString());
System.out.println(integer);
if (integer == num){
count = tgr;
break;
}else if (integer > num){
high = tgr - 1;
System.out.println("-1");
}else if (integer < num){
low = tgr + 1;
System.out.println("+1");
}
}
if (count != -1){
System.out.println("在第"+count+"位");
}else {
System.out.println("无");
}
}
java二分查找代码
最新推荐文章于 2023-02-25 11:38:46 发布