分析:所谓转置就是把行变位列,把列变为行。
我们就可以用两个for循环遍历数组,然后交换array[i][j]与array[j][i]
注意,遍历数组时不可以全部遍历,这样会使行和列的数据交换两次,代码如下
public void transpose()
{
int a[][]={{1,2,3},{4,5,6},{7,8,9}};
System.out.println("转置前:");
for(int i=0; i<=2;i++)
{ for(int j=0;j<=2;j++ )
{ System.out.print(a[i][j]+"("+i+j+")\t");}
System.out.println();
}
//转置
for(int i=0; i<=2;i++)
{ for(int j=0;j<=i;j++ )//注意只能遍历一半,所以j<=i如果全部遍历,则数据交换了两次,相当于没有置换
{
int temp;
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
}
System.out.println("转置后");
for(int i=0; i<=2;i++)
{ for(int j=0;j<=2;j++ )
{ System.out.print(a[i][j]+"("+i+j+")\t");}
System.out.println();
}
}