二维数组的转置

本文详细探讨了二维数组的转置操作,包括其概念、重要性以及如何在编程中实现二维数组的转置,涉及的主要编程语言有C++、Python和Java。通过实例解析,帮助读者理解并掌握二维数组转置的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class T4{
    public static void main(String args[]){
        int data[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
        inverse(data);
        print(data);
    }

    public static void inverse(int temp[][]){
        for (int x=0;x<temp.length ;x++ ) {
            //y=x是一个关键的问题
            //在这里如果写y=0最后的转置的结果会和输入一样举例:
            //第一组循环   0,0——0,0
            //            0,1——1,0
            //            0,2——2,1
            // 第二组循环  1,0——0,1 很明显在这里将第一次循环中的数据又给重置了
            // 正确的应为:
            // 第一组循环  0,0——0,0
            //            0,1——1,0
            //            0,2——2,0
            // 第二组循环  1,1——1,1
            //            1,2——2,1
            // 第三组循环  2,2——2,2
            // 共进行了3次数据的有效交换,也就是影响到了6组数据,还有3次数据不用交换
            // 共计6+3=9组数据重置完成


            for (int y=x;y<temp[x].length ;y++ ) {
                int a=0;
                if(x!=y){
                    a=temp[x][y];
                    temp[x][y]=temp[y][x];
                    temp[y][x]=a;
                }

            }

        }
    }

    public static void print(int temp[][]){
        for (int x=0;x<temp.length ;x++ ) {
            for (int y=0;y<temp.length ;y++ ) {
                System.out.print(temp[x][y]+"\t");

            }
        System.out.println();//换行的作用

        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值