可能重复:
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;
}
}
答案 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];
}
}