本帖最后由 Vmkash 于 2014-05-07 00:48:52 编辑

解决方案 »

  1.   

    /**
     * 数组排序(升序),返回排序后数组值在原数组中的下标形成的下标数组(使用冒泡排序思想实现)
     * 
     * @param array
     *            int[]:待排序数组
     * @return int[] :排序后数组值在原数组中的下标形成的下标数组
     */
    public static int[] bubbleSort1(int[] array) {
    int[] indexArray = new int[array.length];
    for (int i = 0; i < indexArray.length; i++) {
    indexArray[i] = -1;
    }
    for (int i = 0; i < array.length; i++) {
    int count = 0;
    for (int j = 0; j < array.length; j++) {
    if (i != j && array[i] > array[j]) {
    count++;
    }
    }
    while (indexArray[count] != -1) {
    count++;
    }
    indexArray[count] = i;
    }
    return indexArray;
    }/**
     * @param args
     */
    public static void main(String[] args) {
    int[] array = { 20, 15, 7, 9, 80, 88, 54, 20, 67, 24 };
    int[] indexArray = bubbleSort1(array); 
    for (int i = 0; i < indexArray.length; i++) {
              System.out.println(array[indexArray[i]]);
            }

    }