数组实现转置矩阵

public class zhuanzhi {  
    public static String[][] zhuanzhi(String[][] arr2D){
        String result_arr[][] = new String[arr2D[0].length][arr2D.length];
          
        /*****输出用于转置的二维数组*******/  
        for (String x[]:arr2D){  
            for(String 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]; //转置核心  
            }     
        }
        for (String x[]:result_arr){  
            for(String e:x){  
                System.out.print(e+" ");  
            }  
            System.out.println();  
        }  
        return result_arr; 
    }
    public static void main(String[] args) {
        String[][]arr2D = {{"newid,2.0", "ea7c2512a8f64d8eafdb5b56b0580ae0,3.0", "eaca34c2945d4e3a84529b6bff261db7,1.0", "ef0e2faef0fb4eba8f41e0b9361a15bc,2.0","0c951a332c604da5a6853b28a8b06e55,6.0"}, {"newid,1.0", "ea7c2512a8f64d8eafdb5b56b0580ae0,3.0", "eaca34c2945d4e3a84529b6bff261db7,2.0", "ef0e2faef0fb4eba8f41e0b9361a15bc,1.0", "0c951a332c604da5a6853b28a8b06e55,3.0"}};
        zhuanzhi(arr2D);
    }
}
时间: 2024-11-06 13:47:26

数组实现转置矩阵的相关文章

javascript学习4-练习之1转置矩阵

1.做了个小小练习,对矩阵进行转置和对不规则的二维数组进行行列互换(不规则二维数组不存在有转置矩阵一说).用以加深对二维数组的理解. 2.效果图如下: 3.两种方式的代码分别如下: 3.1规则矩阵转置: 1 //规则转置 2 var array2=[[1,2,3],[4,5,6]]; 3 var array22=new Array(); 4 array22[0]=new Array(2); 5 array22[1]=new Array(2); 6 array22[2]=new Array(2);

SDUT 3347 数据结构实验之数组三:快速转置

数据结构实验之数组三:快速转置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 转置运算是一种最简单的矩阵运算,对于一个m*n的矩阵M( 1 = < m < = 10000,1 = < n < = 10000 ),它的转置矩阵T是一个n*m的矩阵,且T( i , j )=M( j , i ).显然,一个稀疏矩阵的转置仍然是稀疏矩阵.你的任务是对给定一个m*n的稀疏矩阵( m

数组和广义表

1.数组 数组的特点: 元素数目固定:下标有界. 数组的操作: 按照下标进行读写. 2.数组的顺序表示和实现 因计算机的内存结构是一维的,因此用一维内存来表示多维数组,就必须按某种次序将数组元素排成一列序列,然后将这个线性序列存放在储存器中. 通常有两种顺序存储方式: (1)行优先顺序--将数组元素按行排列 在PASCAL.C语言中,数组就是按行优先顺序储存. (2)列优先顺序--将数组按列向量排列. 在FORTRAN语言中,数组就是按列优先顺序储存的. 3.矩阵的压缩储存 利用2维数组描述矩阵

45.将3&#215;3二维数组转置,并输出

//1.定义一个3*3的二维数组//2.输入内容,并在屏幕中输出//3.运用for循环嵌套将数组转置,并输出 (1)我的程序:运用中间量交换 -错误版:转置算法有问题,需要好好模拟一下 #include<iostream> using namespace std; int main() { int temp; int a[3][3]; cout<<"please input 9 numbers: "<<endl; for(int i=0;i<3

数据结构 - 数组、矩阵、广义表存储

数组的定义 数组的定义 数组是下标index 和值value 组成的序对的集合. 在数组中,每个有定义的下标都与一个值对应,这个值称做数组元素. 每个序对形如: (index,value) 数组的顺序表示和实现 由于计算机的内存结构是一维的,因此用一维内存来表示多维数组,就必须按某种次序将数组元素排成一列序列,然后将这个线性序列存放在存储器中. 一般都是采用顺序存储的方法来表示数组 一维数组的顺序表示 设第一个数组元素a[0]的存储地址是loc(a[0]),若已知每个数组元素占k个存储单元,则下

数据结构Java实现——④数组—&gt;稀疏矩阵三元组顺序存储--&gt;矩阵的倒置

作者信息 文字描述 倒置:把矩阵A的行换成相应的列,得到的新矩阵称为A的转置矩阵,记作AT或A. 通常矩阵的第一列作为转置矩阵的第一行,第一行作为转置矩阵的第一列. 那么,在已经存储好的三元组的顺序存储结构中,如果如何实现矩阵的倒置呢??? 第一反应肯定是直接遍历,然后行列对换即可,但是因为要求按照行号优先(也可以是列号优先,但是必须倒置前和倒置后都按照一种优先的方式排列),所以如果直接对换,那么就会变得没有顺序,还需要一次排序,这样反而不妙. 1.正常倒置 既然要进行行列对换,那么对换后的行号

matlab-变量类型-数组-矩阵

1 变量类型 1.1基本 1.2 特殊变量 ans •i,j: complex number •Inf: 无穷大 •eps: 2.2204e-016 •NaN: not a number •pi:pai 注意:关键字是可以做变量的 1.3 numeric display format 1.4 some useful functions •clc: clear command windowdisplay •clear: remove all variables in the workspace •

移除数组中第一个负数后的所有负数

scala> val a = ArrayBuffer[Int](1, 2,3, 5, -1, 2, -3, -5) a: scala.collection.mutable.ArrayBuffer[Int]= ArrayBuffer(1, 2, 3, 5, -1, 2, -3 , -5)   scala> :paste // Entering paste mode (ctrl-D tofinish)   var foundFirstNegative = false val keepIndexes

NumPy基础:数组和失量计算

NumPy : Numerical Python,是高性能科学计算和数据分析的基础包. 部分功能: ndarray:一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组: 用于对整组数据进行快速运算的标准数学函数(无需编写循环): 用于读写磁盘数据的工具以及用于操作内存映射文件的工具: 线性代数.随机数生成以及傅里叶变换功能: 用于集成C.C++.Fortran等语言编写的代码工具: 大部分数据分析应用关注的功能: 用于