【发布时间】:2015-12-25 21:11:49
【问题描述】:
我需要构建一个对二维数组进行冒泡排序的代码。这里的诀窍是我不能使用一维数组助手,或者将项目移动到另一个数组。
排序需要在二维数组上。
现在我构建了我的函数。但是出了点问题。这是我的输出
1 1 2 6 12 32
49 44 54 55 100 344
即将完成,我想不出该怎么做。
public static int [] [] sortMatrix(int[][]matrix){
for(int x = matrix.length ; x >0 ; x-- ){
for(int i = matrix[0].length ; i > 0 ; i-- ){
for(int j = 0 ; j < x ; j++){
for(int t = 0 ;t < i ; t++){
if(t < matrix[0].length - 1 && matrix[j][t] > matrix[j][t+1] ){
swap(matrix , j , t, t+1);
}
else if(t == matrix[0].length - 1 && j != matrix.length -1&& matrix[j][t] > matrix[j+1][0] ){
swap1(matrix ,j , t , j + 1);
}
}
}
}
}
【问题讨论】:
-
输入预期输出对会有所帮助
-
swap和swap1的功能不一样? -
不,因为一个交换在行中,另一个在列之间
-
int [][] 矩阵 = {{49, 54, 32,1, 2,6} , {1,55,44,100,344,12}};