矩形数组的各种翻转和旋转
本文章演示了矩形数组的水平翻转、垂直翻转、主对角线翻转、从对角线翻转和顺时针逆时针旋转90度等操作,可以很好地了解这些操作是如何进行的,也可以结合代码和输入输出数据更进一步理解矩形数组各种操作的思想。
1、翻转
1.1、水平翻转
使二维数组进行水平翻转即使(n/2)行之前的元素和之后的元素交换,即行进行交换。
代码:
//此方法用于对二维数组进行水平翻转操作。
public int[][] change(int[][] matrix) {
int tem=0,row_max = matrix.length-1;//rows 用来保存二维数组的行数最大值
for(int i=0;i<matrix.length/2;i++) {
for(int j=0;j<matrix[0].length;j++) {
tem = matrix[row_max-i][j];//(row_max - i)为倒数i行对应的行。
matrix[row_max-i][j] = matrix[i][j];
matrix[i][j] = tem;
}
}
return matrix;
}
测试数据:
int[][] matrix={
{
1,2,3,4},
{
5,6,7,8},
{
9,10,11,12}
};
输出结果:
4 3 2 1
8 7 6 5
12 11 10 9
1.2、垂直翻转
垂直翻转和水平翻转思想相同不再赘述。
代码:
public int[][] change(int[][] matrix){
int tem = 0,row_max = matrix[0].length-1;
for(int i