方法一:
/**
* 折半查找法* @author Administrator
*
*/
public class Demo6 {
public static void main(String[] args) {
int[] arr = {12,13,38,45,67,100};
int index = halfSearch(arr,89);
System.out.println("索引值在数组中的位置为:"+index);
}
public static int halfSearch(int[] arr,int target){
int min = 0;
int max = arr.length - 1;
int mid = (min+max)/2;
while(true){
if(target>arr[mid]){
min = mid + 1;
}else if(target<arr[mid]){
max = mid - 1;
}else{
return mid;
}
mid = (min+max)/2;
if(min>max){//找不到的情况
return -1;
}
}
}
}
方法二:遍历查找法
public class Demo7 {
public static void main(String[] args) {
int[] arr = {1,9,8,67,45,23};
int index = searchEle(arr,67);
System.out.println("元素在数组中的位置为:"+index);
}
public static int searchEle(int[] arr,int target){
for(int i = 0;i<arr.length;i++){
if(arr[i]==target){
return i;
}
}
return -1;
}
}