Java Median median(double[] unsorted)

Here you can find the source of median(double[] unsorted)

Description

median

License

Apache License

Parameter

Parameter Description
unsorted a parameter

Return

median of the array of values. if values are already sorted, use median_sorted

Declaration

public static double median(double[] unsorted) 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * Copyright 2009 OpenSHA.org in partnership with
 * the Southern California Earthquake Center (SCEC, http://www.scec.org)
 * at the University of Southern California and the UnitedStates Geological
 * Survey (USGS; http://www.usgs.gov)/*  ww  w.  j a  va 2 s .com*/
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

import java.util.Arrays;

public class Main {
    /**
     * 
     * @param unsorted
     * @return median of the array of values. if values are already sorted, use median_sorted
     */
    public static double median(double[] unsorted) {
        double[] sorted = Arrays.copyOf(unsorted, unsorted.length);
        Arrays.sort(sorted);
        return median_sorted(sorted);
    }

    /**
     * @param sorted
     * @return median of the sorted array of values
     */
    public static double median_sorted(double[] sorted) {
        if (sorted.length % 2 == 1)
            return sorted[(sorted.length + 1) / 2 - 1];
        else {
            double lower = sorted[sorted.length / 2 - 1];
            double upper = sorted[sorted.length / 2];

            return (lower + upper) * 0.5;
        }
    }
}

Related

  1. median(double[] array)
  2. median(double[] data)
  3. median(double[] data, int length)
  4. median(double[] input)
  5. median(double[] l)
  6. median(double[] v)
  7. median(double[] vals)
  8. median(double[] values)
  9. median(double[] x)