您好,欢迎来到微智科技网。
搜索
您的当前位置:首页排序一个数组(数组元素有重复的),并且记住新数组的元素在原数组中的位置

排序一个数组(数组元素有重复的),并且记住新数组的元素在原数组中的位置

来源:微智科技网
        double [] array = {4,3,6,5,9,6,5}; 

        //保留数组的初始下标
        int[] index_init = new int[array.length];
        for (int i = 0; i < index_init.length; i++) 
        {
            index_init[i] = i;
        }

        for (int i = 0; i < array.length-1; i++) //降序排序
        {
            for (int j = i+1; j < array.length; j++) 
            {
                if(array[i]<array[j])
                {
                    double temp = array[i]; 
                    array[i] = array[j];
                    array[j] = temp;

                    int p = index_init[i];
                    index_init[i] = index_init[j];
                    index_init[j] = p;
                }

            }
        }

    System.out.println(Arrays.toString(array));
    System.out.println(Arrays.toString(index_init));

经过处理后的array降序排列,而index_init中的元素与array一一对应,index_init[i]即为array[i]在排序前数组中的下标。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务