Java 查找方法(普通查找,二分查找)

来源:互联网 发布:和明星合影软件 编辑:程序博客网 时间:2024/05/01 01:27
public class ArraySearchTest {public static int search(int[] a , int value){for(int i = 0; i < a.length - 1; i++){if(a[i] == value ){return i;}}return -1;}public static int binarySearch(int[] array , int value){int low = 0;int high = array.length -1;int middle;while(low <= high){middle = (low + high)/2;for(int i = 0; i < array.length; i++){System.out.print(array[i]);if( middle == i){System.out.print("#");}System.out.print(" ");}System.out.println();if(array[middle] == value){return middle;}if(value < array[middle]){high = middle - 1;}if(value > array[middle]){low = middle + 1;}}return -1;}public static void main(String[] args){int[] a = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};int value = 11;int index = search(a, value);System.out.println(index);System.out.println("-----------------");int[] b = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};int index2 = binarySearch(b , 5);System.out.println(index2);}}

原创粉丝点击