package com.tust.half_search;
/**
* @Author: Liyutian
* @Date:Create:in 2020/10/9 11:03
*/
public class HalfSearch {
/**
* 返回目标数的索引值
* @param a 数组
* @param low 数组最头索引 0
* @param high 数组尾索引
* @param x 你想要在数组a中查找的数
* @return
*/
public int halfSearch(int[] a, int low, int high,int x){
int mid = (low + high) / 2;
if (a[mid] == x){
return mid;
}else if( a[high] == x){
return high;
} else if (a[mid] > x){
return halfSearch(a, low, mid, x);
}else{
return halfSearch(a, mid, high, x);
}
}
/**
* 返回目标数的索引值
* 这是一个简化的对外接口
* @param a 数组
* @param x 你想要在数组a中查找的数
* @return
*/
public int halfSearch(int[] a, int x){
return halfSearch(a, 0, a.length-1, x);
}
}
请指教