思想借鉴快排, 但是时间复杂度是快排的一半
public class test1 {
public static int serarch(int[] array, int low, int high, int findIndex){
int lowHis = low;
int highHis = high;
if(low >= high) return array[low];
int temp = array[low];
while (low < high){
while (high > low && array[high] >= temp){
high = high - 1;
}
array[low] = array[high];
while (low < high && array[low] <= temp){
low = low + 1;
}
array[high] = array[low];
}
array[low] = temp;
if(findIndex <= low){
return serarch(array, lowHis, low, findIndex);
} else{
return serarch(array, low + 1, highHis, findIndex);
}
}
public static void main(String args[]){
int[] array = {6, 4, 5, 3, 9, 8, 3, 10, 1, 7};
System.out.println(serarch(array, 0, array.length - 1, 2));
}
}