我有一個二維數組稱爲距離[] []我如何排序的二維數組,並跟蹤到原始指標中的Java
它擁有列0我的價值觀:
例子:
{ 5
7
3
9 }
它看起來像一維數組,但是爲了能夠跟蹤我的索引,我將它轉換爲二維數組。
我訪問我的第一個值的方式是distance [0] [0]。
我的問題是:如果我要排序我的數組,我該如何跟蹤原始索引位置。我的印象是,我可能需要按照距離值的位置my的升序來創建相應的數字列表。
之後我該怎麼辦?
我有一個二維數組稱爲距離[] []我如何排序的二維數組,並跟蹤到原始指標中的Java
它擁有列0我的價值觀:
例子:
{ 5
7
3
9 }
它看起來像一維數組,但是爲了能夠跟蹤我的索引,我將它轉換爲二維數組。
我訪問我的第一個值的方式是distance [0] [0]。
我的問題是:如果我要排序我的數組,我該如何跟蹤原始索引位置。我的印象是,我可能需要按照距離值的位置my的升序來創建相應的數字列表。
之後我該怎麼辦?
所有你需要的是使用比較器。考慮下面的代碼 -
Arrays.sort(arr, new java.util.Comparator<int[]>(){
public int compare(int[] a,int[] b){
return a[0]-b[0];
}
});
arr
是您的orginial 2D陣列,其中第一列包含於已排序和第二列的數字包含索引
最簡單的解決辦法是建立一個Pair
類,持有該項目及其相應index.Then,保持這樣的列表Pair
類詮釋兩種不同的list
S和比排序在Java them.Since之一,你可以使用引用而不創建複製對象,這應該相當簡單。現在,排序後的列表將包含根據值排序的值及其對應的索引,未排序列表將按您輸入的順序排序,即排序根據指數。