一维数组的排序很简单,但二维却有些变化,个人认为可以从最后一列开始排序,依次排到第一列,当然,是要稳定的排序方法。
直接上代码吧。
private void t7_16(){
int[][] T=new int[6][2];
for(int i=0;i<T.length;i++){
for(int j=0;j<T[0].length;j++){
T[i][j]=FelcxTools.getFileScanner().nextInt();
}
}
//排序列
for(int k=T[0].length-1;k>=0;k--){
int[] T1=new int[T.length];
int index=0;
for(int s=0;s<T.length;s++){
T1[index++]=T[s][k];
}
for(int i=0;i<T1.length-1;i++){
for(int j=T1.length-1;j>i;j--){
if(T1[j]<T1[j-1]){
int[] temp=T[j];
T[j]=T[j-1];
T[j-1]=temp;
int temp1=T1[j];
T1[j]=T1[j-1];
T1[j-1]=temp1;
}
}
}
}
for(int i=0;i<T.length;i++){
for(int j=0;j<T[0].length;j++){
System.out.print(T[i][j]+" ");
}
System.out.println();
}
}