基本思路:中位数就是排序后下标为数组长度/2的元素
这里,可以采用快速排序的思路(详细快速排序不多介绍,可参考这里)。即将不断地划分为左右两个区域,左边区域内的所有元素都小于某个主元,右边区域内的元素都大于某个主元。如果划分左右区域的分界j(这里的j和快速排序中的j的含义一致)刚好等于
length/2,那么就找到了中位数,否则,如果下标 j<length/2,那么就继续在右边区域划分查找,如果下标j>length/2,那么就继续在左边区域划分查找,直到 j == length为止。
public class GetMiddle {
/**
* 用快速排序划分区域的方式来找到下标为length/2的元素,即数组的中位数
* @param array
* @param left
* @param right
* @return
*/
private in