package com.demo;public class Search {public static void main(String[] args) {int[] arr = { 1, 2, 6, 7, 8, 11, 14, 25, 44, 55 };// int index=searchTest(arr, 55);int index = searchTest2(arr, 25);if (index == -1) {System.out.println("不存在");} else {System.out.println(index);}}//非递归二分查找public static int searchTest(int[] arr, int key) {int low = 0;int height = arr.length - 1;while (low < height || low == height) {int mid = (low + height) / 2;if (arr[mid] == key) {return mid;} else if (arr[mid] > key) {height = mid - 1;} else {low = mid + 1;}}return -1;}//递归二分查找public static int searchTest2(int[] arr, int key) {int low = 0;int height = arr.length - 1;return searchDemo(arr, key, low, height);}public static int searchDemo(int[] arr, int key, int low, int height) {if (low > height) {return -1;}int mid = (low + height) / 2;if (arr[mid] == key) {return mid;}else if (arr[mid] > key) {return searchDemo(arr, key, low, mid - 1);} else {return searchDemo(arr, key, mid + 1, height);}}}