为了账号安全,请及时绑定邮箱和手机立即绑定

二维数组的概念和使用方法 简述版

看完老师讲的这节,感觉云里雾里,搞不清二维数组的本质(小白),从网上参考一偏详解终有所悟。

二维数组

其实就是数组的数组,二维数组的每一个元素都是一个一维数组。(无论每个元素多长,都看作一个一维数组,整体性思维)

举个栗子:

int [][] bob = new int [3][5] ;---意思是定义了一个整形的二维数组,其中包含有3个一维数组,每个一维数组可以储存最长5个整数;

杨辉三角代码:

//从控制台获取行数

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]


参考资料于:博客园 --坚持到底gl

正在回答

1 回答

1 1 1 1

2 2 2 2 

3 3 3 3

这就是二位数组的具体形象。

int [3] [4] arr (3行,4列,的一个二维数组,就这么简单,);

arr [0] 是什么呢?是一个数组 [1,1,1,1];所以 arr[0][1]  就是 1;

arr [1] 是什么呢?xxxx,自行推理。

杨辉三角,也是二维数组,只不过他是一个三角形,你可以把假想为用 null 填充了。拿前三行举例子。

1   null    null

1     1      null

1     2      1

杨辉三角的算法又是另外层面的东西了。

1 回复 有任何疑惑可以回复我~
#1

慕莱坞529334

arr [0] arr是什么?? 你这表达我怎么前面章节没看到过啊
2019-05-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

二维数组的概念和使用方法 简述版

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号