找到随机数组的中值

时间:2012-07-21 22:49:27

标签: java median

  

可能重复:
  Finding the median value of an array?
  How to calculate mean, median, mode and range from a set of numbers
  Combine QuickSort and Median selection algorithm

如何找到随机生成的数组的中值?

例如:它会给我一个像88,23,93,65,22,43这样的数组。              我正在使用的代码找到中间的数字,但它没有排序。

这是我到目前为止使用的代码:

double Median()
{
    int Middle = TheArrayAssingment.length / 2;
       if (TheArrayAssingment.length%2 == 1)
        {
           return TheArrayAssingment[Middle];
        }
    else {
        return (TheArrayAssingment[Middle-1] + TheArrayAssingment[Middle]) / 2.0;
    }
}

2 个答案:

答案 0 :(得分:1)

您的代码看起来不错,但它假定数组已排序。只需对其进行排序:

Arrays.sort(TheArrayAssignment);

答案 1 :(得分:0)

public static double median(int[] a) {
    int[] b = new int[a.length];
    System.arraycopy(a, 0, b, 0, b.length);
    Arrays.sort(b);

    if (a.length % 2 = 0) {
        return (b[(b.length / 2) - 1] + b[b.length / 2]) / 2.0;
    } else {
        return b[b.length / 2];
    }
}