public static double[] Sort(double[] input) {
		if (input == null) {
			return null;
		}
		ArrayList<Double>[] B = new ArrayList[input.length];// Ͱ
		for (int i = 0; i < B.length; i++) {
			B[i] = new ArrayList<Double>();
		}
		for (int i = 0; i < input.length; i++) {// ݵͰ
			B[(int) (input.length * input[i])].add(input[i]);
		}
		for (int i = 0; i < input.length; i++) {// ÿͰִв
			InsertionSort(B[(int) (input.length * input[i])]);
		}
		double[] result = new double[input.length];
		int index = 0;
		for (int i = 0; i < input.length; i++) {// ϲͰ
			for (Double cur : B[i]) {
				result[index++] = cur;
			}
		}
		return result;
	}