Java数据结构——查找(未完待续)
一、二分查找
public class demo01 {
public static void main(String[] args) {
int[] nums = {1,3,5,7,9,11,14,17,25,78,89,100};
int sel = select(7,nums);
if (sel == -1){
System.out.println("该数字不在数组中");
}else {
System.out.println("找到该数字,索引是:"+sel);
}
}
public static int select(int num,int nums[]){
int min = 0;
int max = nums.length-1;
int mid ;
do {
mid = (min+max)/2;
if (nums[mid] > num){
max = mid-1;
}else if(nums[mid] < num){
min = mid + 1;
}
if (min > max){
return -1;
}
}while (num != nums[mid]);
return mid;
}
}