/*
题目:设计一个方法用于在指定的数组中查找指定的值,如果找到就返回下标,如果没有找到就返回-1.
*/
public class 顺序查找 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int index = binarySearch(new int[] {1,2,3,5,9},9);
System.out.println(index);
}
//顺序查找
public static int indexof(int[] arr,int target) {
int res = -1;
for(int i= 0; i<arr.length;i++) {
if(arr[i]==target) {
res=i;
break;
}
}
return res;
}
//二分查找
public static int binarySearch(int[] arr,int target) {
int begin = 0;
int end = arr.length-1;
while(begin<=end) {
int midindex = begin+((end-begin)>>1);
int mid = arr[midindex];
if(target>mid) {
begin = midindex+1;
}else if(target<mid) {
end = midindex-1;
}else {
return midindex;
}
}
return -1;
}
}
顺序查找与二分查找
最新推荐文章于 2024-07-12 06:47:13 发布