1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | /** * 將一組數值資料由小到大排列,最中間的數值即為中位數。 * 若有偶數個資料,則取最中間兩個數值的算術平均數為中位數; * 若有奇數個資料,則取最中間的數值為中位數。 * * @param sortedArray 由小到大排列的數值資料 * @return 中位數 */ public double computeMedian(int[] sortedArray) { double median = 0d; int totalElements = sortedArray.length; if (totalElements % 2 == 0) { int sumOfMiddleElement = sortedArray[totalElements / 2] + sortedArray[totalElements / 2 - 1]; median = ((double) sumOfMiddleElement) / 2; } else { median = (double) sortedArray[totalElements / 2]; } return median; } |
No comments:
Post a Comment