自学Java第四章——《数组》 (5)

顺序查找示例代码:

int[] arr = {4,5,6,1,9};
int value = 1;
int index = -1;

for(int i=0; i<arr.length; i++){
   if(arr[i] == value){
       index = i;
       break;
  }
}

if(index==-1){
   System.out.println(value + "不存在");
}else{
   System.out.println(value + "的下标是" + index);
}

二分查找示例代码:

/*
2、编写代码,使用二分查找法在数组中查找 int value = 2;是否存在,如果存在显示下标,不存在显示不存在。
已知数组:int[] arr = {1,2,3,4,5,6,7,8,9,10};
*/
class Exam2{
public static void main(String[] args){
int[] arr = {1,2,3,4,5,6,7,8,9};//数组是有序的
int value = 2;

       int index = -1;
int left = 0;
       int right = arr.length - 1;
       int mid = (left + right)/2;
       while(left<=right){
           //找到结束
           if(value == arr[mid]){
               index = mid;
               break;
          }//没找到
           else if(value > arr[mid]){//往右继续查找
               //移动左边界,使得mid往右移动
               left = mid + 1;
          }else if(value < arr[mid]){//往左边继续查找
               right = mid - 1;
          }
           
           mid = (left + right)/2;
      }
       
       if(index==-1){
  System.out.println(value + "不存在");
}else{
  System.out.println(value + "的下标是" + index);
}
       
}
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjwys.html