JAVA实现不定长度二维数组的转置

//实现不定长度二维数组的转置

public static void transposition_Arrays2D()

{
/**定义要用于转置的二维数组**/
int arr2D[][] =
{
{ 1, 2, 3 },
{ 4, 5, 6, 11 },
{ 7, 8, 9 } };


/**构造结果新二维数组用于存放转置结果**/
// 而构造二维数组可以为维度来进行,不一定是一个矩阵,即每一行的长度不一定相同
int second = 0;
// 取出二维中最大的数组长度
for (int temp[] : arr2D)
{
second = second > temp.length ? second : temp.length;
}
int result_arr[][] = new int[second][];// 先实现第一维
// 再实现第二维,实际上二维的长度应该是一样的
for (int i = 0; i < second; i++)
{
result_arr[i] = new int[arr2D.length];
}


/*****输出用于转置的二维数组*******/
for (int x[] : arr2D)
{
for (int e : x)
{
System.out.print(e + " ");
}
System.out.println();
}
System.out.println();


/** 进行元素倒置  **/
for (int i = 0; i < arr2D.length; i++)
{
for (int j = 0; j < arr2D[i].length; j++)
{
result_arr[j][i] = arr2D[i][j]; // 转置核心
}
}


/** 打印转置后的结果:对于缺少的元素,只能默认打印出0 **/
for (int x[] : result_arr)
{
for (int e : x)
{
System.out.print(e + " ");
}
System.out.println();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值