gpt4 book ai didi

java - 如何按索引对数组进行排序? (排序索引)

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:00:29 26 4
gpt4 key购买 nike

我有一个 long[] 及其值。我需要的是一个排序数组,其中包含我的第一个数组的索引。

例如:

输入:

long[ ] values = {1 , 3 , 2 , 5 , 4};

输出:

long[ ] SortIndex = {0 , 2 , 1 , 4 , 3}

这意味着:

values[0] < values[2] < values[1] < values[4] < values[3] 

...SortIndex 的降序或升序并不重要。

最佳答案

long[] values = {1 , 3 , 2 , 5 , 4};
Map<Long, Integer> indices = new HashMap<Long, Integer>();
for (int index = 0; index < values.length; index++) {
indices.put(values[index], index);
}

long[] copy = Arrays.copyOf(values, values.length);
Arrays.sort(copy);
for (int index = 0; index < copy.length; index++) {
copy[index] = indices.get(copy[index]);
}

您的索引列表将在 copy 中。

这里的工作示例:http://ideone.com/A9Imz

关于java - 如何按索引对数组进行排序? (排序索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com