0511 二维数组定义

二维数组

数组的数组---二维数组的每一个元素是一个一维数组

定义格式

数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一维数组的个数][每个一维数组的长度];

int[][] arr = new int[3][5];---定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数

arr[0]---下标为0的位置上的一维数组

arr[1][3]---如果要获取具体的元素需要两个下标

数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一维数组的个数][];

int[][] arr = new int[3][];----表示一个包含了三个整型的一维数组的二维数组(-------------这句话好好理解------------------------)

数据类型[][] 数组名 = {{元素},{元素1, 元素2},……};

int[][] arr = {{2,5},{1},{3,2,4},{1,7,5,9}};

注意:[]在变量名前的时候,是紧跟数据类型的;如果[]在后,则是属于当前变量名。

二维数组的应用

二维数组的长度:数组名.length ---每个一维数组:数组名[下标].length

二维数组的遍历---两重for循环

for(int i = 0; i < arr.length; i++){ //遍历二维数组,遍历出来的每一个元素是一个一维数组
for(int j = 0; j < arr[i].length; j++){ //遍历对应位置上的一维数组
System.out.println(arr[i][j]);
}
}

二维数组的反转---头尾交换

for(int start = 0, end = arr.length -1; start < end; start++,end--){
int[] temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}

从控制台输入行数,打印对应的杨辉三角

//从控制台获取行数
Scanner s = new Scanner(System.in);
int row = s.nextInt();
//根据行数定义好二维数组,由于每一行的元素个数不同,所以不定义每一行的个数
int[][] arr = new int[row][];
//遍历二维数组
for(int i = 0; i < row; i++){
    //初始化每一行的这个一维数组
    arr[i] = new int[i + 1];
    //遍历这个一维数组,添加元素
    for(int j = 0; j <= i; j++){
        //每一列的开头和结尾元素为1,开头的时候,j=0,结尾的时候,j=i
        if(j == 0 || j == i){
            arr[i][j] = 1;
        } else {//每一个元素是它上一行的元素和斜对角元素之和
            arr[i][j] = arr[i -1][j] + arr[i - 1][j - 1];
        }
        System.out.print(arr[i][j] + "\t");
    }
    System.out.println();
}

结果:

1

1   1

1   2   1

1   3   3   1

1   4   6   4   1

1   5   10 10 5   1

杨辉三角用二维数组的理解:

arr[i][j] = arr[i -1][j] + arr[i - 1][j - 1]

原文地址:https://www.cnblogs.com/zs0322/p/10849339.html

时间: 2024-07-28 20:51:12

0511 二维数组定义的相关文章

js之二维数组定义和初始化三种方法

方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知长度的二维数组 var tArray = new Array();   //先声明一维 for(var k=0;k<i;k++){        //一维长度为i,i为变量,可以根据实际情况改变

&lt;18&gt;【掌握】二维数组定义+

[掌握]二维数组定义 二维数组: 可以看做是一个特殊的一维数组 ,这个一维数组的每个元素又是一个一维数组 二维数组的定义 数据类型 数组名[第一维的长度(行)][第二维的长度(列)]; int a[2][3]; 理解方法: 1)这是一个特殊的一维数组,一维数组有两个元素 a[0] a[1] a[0] 它又存放了一个一维数组该数组长度为 3 2)定义了一个2行3列的一个矩阵 #include <stdio.h> #define M 3 int main(int argc, const char

C#学习二维数组定义及初始化

声明数组时将其初始化,如下例所示: int[,] myArray = new int[,] {{1,2},{3,4},{5,6},{7,8}}; 初始化數組但不指定級別: int[,] myArray = {{1,2},{3,4},{5,6},{7,8}}; 声明一个数组变量但不将其初始化,必须使用 new 运算符数组分配给此变量. int[,] myArray; myArray = new int[,]{{1,2},{3,4},{5,6},{7,8}}; myArray = [,]{{1,2}

C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <stdlib.h> int main() { int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3

java怎么定义一个二维数组?

java中使用 [][] 来定义二维数组 定义数组时也可同时初始化 下面是一些例子float[][] numthree; //定义一个float类型的2维数组numthree=new float[5][5]; //为它分配5行5列的空间大小numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1long[][] numfive=new long[5][]; //定义一个long类型的不规则数组numfive[0]=new long[5]; //为第1行分配5列//定义d

【学习笔记】【C语言】二维数组

1. 什么是二维数组 一个数组能表示一个班人的年龄,如果想表示很多班呢? 什么是二维数组?int ages[3][10]; 三个班,每个班10个人 相当于3行10列 相当于装着3个一维数组 二维数组是一个特殊的一维数组:它的元素是一维数组.例如int a[2][3]可以看作由一维数组a[0]和一维数组a[1]组成,这两个一维数组都包含了3个int类型的元素 2.二维数组的定义 二维数组定义的一般形式是:     类型说明符 数组名[常量表达式1][常量表达式2] 其中常量表达式1表示第一维下标的

C#部分---二维数组、split分割;

二维数组定义方式: int[,] array = new int[3, 4]{ {1,2,3,4}, {3,4,5,6}, {5,6,7,8} };                  3表示,有三个一维数组                     4表示,每一个一维数组中有4个元素. split() 以***进行分割 分割开的内容需要放置在string类型的数组中,不需要给数组定义长度 string s = Console.ReadLine() ; string[] array = s.Spli

C:二维数组常用操作

/* 说明:程序实现二维数组中插入列.插入行.交换两个指定位置的元素,并输出指定 位置元素的变化轨迹 作者:socrates 日期:2014-08-17 */ #include "stdafx.h" #include <stdlib.h> #include <assert.h> /*二维数组最大行数和列数*/ #define MAX_ROW_NUM (9) #define MAX_COL_NUM (9) /*二维数组中各元素位置信息*/ typedef stru

七、二维数组

1.只有一个下标的数组称为一维数组,有两个下标的数组称为二维数组,有N个下标的数组称为n维数组. 2.二维数组定义: 类型说明符 数组名[常量表达式1][常量表达式2] = {值1,值2,...}: int a[2][3] = {{7,6,3},{2,8,5}}; 说明2行3列的数组 3.常量表达式1表示第一维下标的长度 常量表达式2表示第二维下标的长度 4.二维数组的元素也称为双下标变量 5.赋值一般与两层for循环嵌套(双循环)使用.外层循环控制行数,内层循环控制每行对应的列数. 6.二维数