线性查找实现代码 import java.util.Scanner; public class ArrayTest { public static void main(String[] args) { String []arr1=new String[]{"a","b","v","d","m","n","u","Y"}; Scanner sc=new Scanner(System.in); System.out.println("请输入你想查找的内容"); String dest=sc.nextLine(); boolean isFlag=true; for(int i=0;i<arr1.length;i++){ if(dest.equals(arr1[i])){ System.out.println("找到了,位置为"+i); isFlag=false; break; } } if(isFlag){ System.out.println("很遗憾,没有找到你想要找的内容"); } } }
代码注解:
运行结果:
二分查找的实现代码:
package com.company; import java.util.Scanner; public class ArrayTest { public static void main(String[] args) { int []arr1=new int[]{1,2,5,6,34,65,67,86,99,100}; Scanner sc=new Scanner(System.in); System.out.println("请输入你想查找的内容"); int dest=sc.nextInt(); int head=0; int lend=arr1.length-1; boolean isFlag=true; while(head<=lend){ int middle=(head+lend)/2; if(dest==arr1[middle]){ System.out.println("你要查找的内容已找到,位置为"+middle); isFlag=false; break; }else if(arr1[middle]>dest){ lend=middle-1; }else { head=middle+1; } } if(isFlag){ System.out.println("很遗憾,没有你要查找的内容"); } } } 代码注解: 代码注解:
运行结果:
二分查找的好处就是效率高,但是如果数组里面的元素是没有按顺序,则要将重新定义一个数组间将数组里面的值改为有序的才行,但是线性查找就不需要这步骤,直接可以找到数组里面想要查找的值,无论数组是否有序。