我有三維int數組(矩陣)由矩陣組成。我的問題是,我想創建一個新的三維數組,我將通過插入排序按最高值對矩陣進行排序。我不想在新立方體中保存數值,但我只想節省矩陣的數字。下面是一些例子,我想怎麼做。希望你能理解我的想法:在Java中排序3維數組
int[][] matrix1={{10,50,10},{3,5,1},{100,500,800}};
int[][] matrix2={{30,30,30},{3,3,3},{300,300,300}};
int[][] matrix3={{20,20,20},{2,2,2},{200,200,200}};
int[][][] nonSortedMatrices={matrix1,matrix2,matrix3};
現在我想排序是這樣的:
int[][] matrixWithHighestValue={{2,1,2},{2(or 1),1,2},{2,1,1}};
int[][] matrixSecHighestValue={{3,2,3},{1(or2),2,3},{3,2,2}};
int[][] matrixWithLowestValue={{1,3,1},{3,3,1},{1,3,3}};
int[][][] sortedMatrices={matrixWithHighestValue,matrixSecHighestValue,matrixWithLowestValue};
和完蛋了。希望很清楚。矩陣matrixWithHighestValue
將在每個地方包含三個(在這種情況下)矩陣的每個地方的最佳選擇,我想如何做幾個小時,我不能解決這個問題。只想到我想使用的是插入排序,因爲它是最快的方式,因爲數據不是那麼大。 我會非常感謝每一個建議。
當你說「只有矩陣的數量」,你想索引,對吧? –
你描述它的方式,聽起來像sortedMatrices應該只是一個1d的整數數組。就像如果你發現matrix2> matrix1> matrix3,你會想:'int [] sortedIndices = {2,1,3]'。 – tyler
是的,你說得對。我想這樣寫,因爲我認爲它更容易理解 – Prone66