`
dreamit
  • 浏览: 26252 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类

写了一个一维数组转二维(第二维长度不定)的方法

阅读更多

/**
	 * 一维float数组转二维float数组
	 * @param array1 一维数组
	 * @param row 转换后二维数组的行数
	 * @param cols 转换后每一行的列数(每一行列数不相同)
	 * @return float[][] 转换后的二维数组
	 */
	public static float[][] array1to2(float[] array1, int row, List<Integer> cols)
	{
		float[][] result = new float[row][];
		int tempindex = 0; 
		for(int i=0; i<row; i++){
			
			result[i] = new float[cols.get(i)];//每一行
			for(int r1=tempindex; r1<tempindex + result[i].length; r1++){
				result[i][r1 - tempindex] = array1[r1];//tempindex为偏移量,第一回从一维数组的第0个开始取,第二回就要从 偏移量 处开始取
			}
			tempindex += result[i].length;//每一次偏移量变为上一次的偏移量 + 这一回已经取出的数量
		}
		return result;
	}
 
分享到:
评论

相关推荐

    TIA博途中数组Array【】的基本使用方法详解.docx

    - 例如,三维数组3D[0..2,0..3,0..4] of Int是一个3×4×5大小的Int数组。 - 3D[0]是一个4×5大小的二维Int数组。 - 3D[0,1]是一个5个元素的一维Int数组。 - 多维数组的下标也可以换成变量,例如3D[Tag_1,1]。 ...

    C语言数组选择题.pdf

    5. 初始化的二维数组`a[3][3]`中,`a[1][2]`和`a[2][1]`未被赋值,因此它们的值是不确定的,输出结果是不定值和2,答案是B。 6. 这个程序中,`a[1][2]`和`a[2][1]`都被赋值了,分别为1*2+1=3和2*1+1=3,输出结果是3...

    C#交错数组用法实例

    在该示例中,第一行有2个元素,第二行有6个元素,而第三行有3个元素。这种结构可以方便地表示不规则的数据集,例如不同长度的记录或行。 访问交错数组中的元素与访问普通数组类似,可以通过两个索引来完成:一个...

    C#软件开发技术——作业二.docx编程资料

    这是一个二维数组(数组的数组),声明了一个包含3个元素的一维数组数组,但没有指定每个一维数组的长度。 - **b. int[,] a = new int[3, 4];**: 正确。这定义了一个固定大小的二维数组,其中第一维有3个元素,第二...

    C#职工编号

    例如,一个二维数组可以表示部门和员工编号: ```csharp int[,] departmentEmployeeIDs = new int[3, 5]; // 3个部门,每个部门5个员工 ``` 另一方面,List类提供了动态增长的容量,更灵活地处理数量不定的员工...

    黑马程序员入学Java精华总结

    8. **一维数组的声明与初始化** - 定义数组的语法为:`数据类型[] 数组名 = new 数据类型[数组长度];` 9. **数组的使用** - 访问数组元素:`数组名[索引]`。 - 遍历数组:使用for循环。 10. **分配内存空间** ...

    MATLAB 语言基础.ppt

    数组是一个数据集合,可以是一维的(向量)、二维的(矩阵)或其他多维形式。向量是矩阵的特例,分为行向量(1×n阶)和列向量(n×1阶)。矩阵是MATLAB的基础运算单元,支持各种矩阵运算,如加减乘除及更复杂的运算...

    MATLAB设计_padcat使用NaN填充连接不同长度的向量.zip

    总结起来,`MATLAB设计_padcat使用NaN填充连接不同长度的向量.zip`这个压缩包提供了一个自定义的`padcat`函数,它解决了在MATLAB中连接不同长度向量的问题,通过`NaN`填充使向量长度一致,方便后续的计算和操作。...

    《数据结构》期末复习题及参考答案.docx

    24. **数组访问时间复杂度**:读取一维数组中第i个元素的时间复杂度是O(1),因为数组提供了随机访问。 25. **链式队列**:链式队列在插入时仅修改尾指针,无需移动元素。 这些知识点覆盖了数据结构的基础概念,...

    详细的java基础总结

    二维数组实际上是一维数组的数组。可以声明和初始化二维数组,例如: ``` int[][] matrix = new int[3][3]; ``` - **数组的复制** 数组复制可以通过`System.arraycopy()`方法或者`Arrays.copyOf()`方法实现。 ...

    C语言复习习题及答案资料.ppt

    `定义了一个二维数组,每行元素数量不定,但第二维固定为3,因此选项A、C、D都不正确,只有B是正确的。 5. **数组参数传递**: - 当数组名作为参数传递给函数时,它被当作指向数组首元素的指针,因此实际参数是该...

    2021-2022计算机二级等级考试试题及答案No.5375.docx

    4. **C语言数组定义**:在C语言中,一维数组的定义方式是`类型说明符 数组名[数组长度]`。如果省略数组长度,会定义一个不定长数组,这在C语言中是不允许的,因此是死循环的定义。 5. **SQL查询**:SQL的SELECT语句...

    Java面试笔试题目汇总 (2).pdf

    8. **数组声明**:在Java中,正确声明数组的方式是B和E选项,其中B表示一个不定长度的一维数组,E表示一个二维的Object数组。 9. **包和import语句**:在同一个类中,`package`语句只能出现一次,且必须位于文件...

    江苏c语言二级2008秋

    ——正确,声明了一个二维数组并初始化所有元素为0。 **8. 结构体与指针操作** - **题目解析:**本题考查了结构体与指针的相关操作。 - **选项分析:** - A. p=&stu;——正确,指针p指向结构体变量stu。 - B. q=&...

    matlab实验报告.doc

    - **一维、二维数组的寻访** - **子数组访问与赋值**: - `A(r,c)`:获取指定行r和列c的元素。 - `A(r,:)`:获取指定行r的所有元素。 - `A(:,c)`:获取指定列c的所有元素。 - `A(:)`:将数组的所有元素按列展开...

    数据结构与算法:C#语言描述

    - **多维数组**:允许在一个数组中存储多维数据,方便处理二维或多维数据。 - **参数数组**:在函数调用时允许传入不定数量的参数。 - **锯齿状数组**:每个维度可以有不同的长度,适用于不规则数据结构。 `...

    2021年湖北师范学院专升本C语言程序设计试卷.pdf

    6. 数组元素的访问:根据数组的存储方式,二维数组a[3][6]中,第10个元素是a[1][4]。正确答案是C。 7. 数组定义的错误:在C语言中,数组定义时,数组的大小必须是一个常量表达式或编译时常量。选项D中的"int n=10,a...

    C语言程序设计标准教程

    用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数。  可以说C程序的全部工作都是由各式各样的函数完成的, 所以也把C语言称为函数式语言。 由于采用了函数模块式的结构, C语言...

    matlab基本功能汇总 (2).pdf

    * 字符串中的每个字符都是字符数组的一个元素 * 字符串命名规则同变量相同 * str1 和 str2 可以使用连接符连接 * str(x)查看 str 的第 x 个字符 * str(x:y)查看 str 的第 x 到第 y 个字符 二、运算符 Matlab ...

Global site tag (gtag.js) - Google Analytics