【发布时间】:2016-08-30 07:37:22
【问题描述】:
我有一个名为“Worker”的对象矩阵,并且在每个“Worker”中都有一个名为“fullname”的字符串类型变量(名称没有空格,例如:SarahSmith)。 我需要按名称按字母顺序排列对矩阵的每一列进行排序。 现在我使用这种方法对每一列按字母顺序排序:
public static void secondChange(Worker[][] mat) {
for (int m = 0; m < mat[0].length; m++) {
for (int i = 0; i < mat[0].length; i++) {
int minindex = i;
for (int j = i + 1; j < mat[0].length; j++) {
if (mat[j][m].getName().compareTo(mat[minindex][m].getName()) < 0)
minindex = j;
}
Worker temp = mat[i][m];
mat[i][m] = mat[minindex][m];
mat[minindex][m] = temp;
}
}
}
然后我用这种方法对每一列进行排序降序:
public static void rightOrder(Worker[][] mat){
for (int m=0 ; m<mat[0].length ; m++)
for (int i=0, j=(mat[0].length-1) ; i<(mat[0].length/2) || j>(mat[0].length/2) ; i++,j--){
Worker temp = mat[i][m];
mat[i][m] = mat[j][m];
mat[j][m] = temp;
}
}
在第二种方法之后,矩阵将恢复到原来的形式,而不是按照我想要的方式工作(第一种方法工作正常)。 任何人都可以帮忙吗? :)
【问题讨论】:
标签: java string sorting matrix