行列の偶数行インデックスと奇数行インデックスを入れ替えようとしています。偶数行はすべて上にあり、奇数行はすべて下。私はあらかじめ行列を作りました。ここで行列の偶数/奇数行を入れ替えようとしています(Java)
は、行スワッピングのための私のコードです:
int numberOfEvenRowIndices = 0;
if(matrix.length%2.0 == 0){
numberOfEvenRowIndices = matrix.length/2 - 1;
}
else{
numberOfEvenRowIndices = (int) (matrix.length/2.0 - 0.5);
}
for(int m = 0; m < numberOfEvenRowIndices; m++){
for (int k = 2; k < rows; k++){
if((matrix[k][0]/10)%2 == 0.0){
int firstEvenRow = k;
for (int i = 0; i < matrix[firstEvenRow].length; i++){
//store value of first even row index
int temp = matrix[firstEvenRow][i];
//swap value of first even row with first odd row
matrix[firstEvenRow][i] = matrix[k-1][i];
matrix[k-1][i] = temp;}
}
}
for(int i = 0 ; i < rows ; i++){
for(int j = 0 ; j < columns ; j++){
System.out.printf("%4s", matrix[i][j]);
}
System.out.println();
}
}
そしてそれは、出力:
0 1 2 3 4 5 6 7
40 41 42 43 44 45 46 47
20 21 22 23 24 25 26 27
60 61 62 63 64 65 66 67
10 11 12 13 14 15 16 17
30 31 32 33 34 35 36 37
50 51 52 53 54 55 56 57
70 71 72 73 74 75 76 77
私は上下(順番に行くために行を必要とする:0、20、40、60 、10、30、50、70) 何か助けていただければ幸いです。
サブオーダーASC/DESCもあるはずですか?私は奇妙で、お互いに相対的にソートされるべきであることを意味しますか? – Antoniossss
元の行列は(上から下へ)0,10,20,30,40,50,60 ...など – AlexT
と私はすべての偶数行をプッシュアップする必要がありますので、最初の列のように見える(上から下) 0,20,40,60,10,30,50 – AlexT