[英]ordering indexes by array values
我有一個整數數組,我想要一些代碼為我生成具有以下規范的數組:
假設
int totalvalue[] = {100, 120, 90, 110}
我想要這個
{1,3,0,2}
好吧,你可以這樣做:
public static void main(String[] args) {
Integer totalvalue[] = { 100, 120, 90, 110 };
List<Integer> original = Arrays.asList(totalvalue);
List<Integer> copy = new ArrayList<Integer>(original);
Collections.sort(copy, new Comparator<Integer>() {
@Override
public int compare(Integer intger1, Integer intger2) {
return intger2.compareTo(intger1);
}
});
int[] finalArray = new int[totalvalue.length];
for (int i = 0; i < totalvalue.length; i++) {
finalArray[i] = original.indexOf(copy.get(i));
}
System.out.println(Arrays.toString(finalArray));
}
我將借用別人的代碼,該代碼最近已從此處刪除;-)
public static void main(String[] args){
int array[] = { 90, 100, 90, 110 };
Map<Integer, Integer> valueIndexMap = new HashMap<Integer, Integer>();
int index = 0;
for (int entry : array)
valueIndexMap.put(entry, index++);
//perform your sorting algorithm here on valueIndexMap.key
Integer[] newArray = new Integer[array.length];
for (int i = 0; i < array.length; i++) {
newArray[i] = valueIndexMap.get(array[i]);
}
System.out.println(Arrays.asList(newArray));
}
這里有一些https://www.cs.cmu.edu/~adamchik/15-121/lectures/Sorting%20Algorithms/sorting.html
研究它們很重要,因為它們是CS的基礎
祝好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.