首先对于中位数,我们都知道,排序后如果是数组长度是奇数,中位数就是中间的值,也就是n/2的值。如果数组长度是偶数,那么中位数就是中间两个值相加除2,也就是 a= n/2;b=n/2-1;中位数=(a+b)/2。
这样看来我们需要一个排序后的数组,由题意可知这个数组不断在变长,如果增加一个元素排序一次未免不合理,那么我们这里直接使用插入排序。
private ArrayList val = new ArrayList<>();
public void Insert(Integer num) {
if (val.isEmpty())
val.add(num);
else {
int i = 0;
for (;i