A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

无意中在blog上看到的概念,baidu了一下,还是不大明白...

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

8 个回复

倒序浏览
二维数组就是一个一维数组里再嵌套一个一维数组  
表现形式就是  A[i][j]   就相当于一个表格  i 是行  j 是列

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 罗海云 于 2013-2-23 11:54 编辑

二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中,而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。
举例:
说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3×4个,即:
    a[0][0],a[0][1],a[0][2],a[0][3]
    a[1][0],a[1][1],a[1][2],a[1][3]
    a[2][0],a[2][1],a[2][2],a[2][3]

交错数组是元素为数组的数组。交错数组元素的维度和大小可以不同。交错数组有时称为“数组的数组”.
跟二维数组不一样的是二维数组的每一行元素的个数是一样的,或者说每一行长度是一样的,但交错数组的每一行可以是不同的.二维数组有点象唐诗,每一句字数都是一样的,交错数组有点象宋词,每一句字数可以是不同的.

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
俺在学数据结构的时候经常听到。{:soso_e117:}
回复 使用道具 举报
要理解二维数组的真正含义,它的第一维就是一组数据的起始地址,第二维就是某组数据中的某个值.
交错数组的行是固定的,而每行的列是不固定的.
举例说明:
a[][4]={{1,2,3,4},{5,4,3,2},{6,7,8,9}}是定义了3个"含有4个元素的数组"的数组.虽然3个自定义

的,但是是确定的数字。程序可以分配内存.
而a[3][]是定定义了3个"含有n个元素的数组"的数组.如:a[3][]={{1,2,3}{3,4}{5,6}},由于n的值是

不确定的(如上有3个的,2个的),所以程序无法为这个数组分配内存空间.
交错数组依次理解,这个不难的,学着用计算机的大脑去想...呵呵...

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
简单理解,二维数组是数组的数组。就相当于大箱子中有小箱子,小箱子里有物体,这个物体就是值,就是数据,那么箱子就相当于引用。
你可以看看我总结的二维数组,希望对你有帮助:
地址:http://blog.csdn.net/shengfeixiang/article/details/8603343

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
黄玉昆 黑马帝 2013-2-23 13:00:56
7#
你可以看看这个附件中的内容,这个是我找的两篇关于数组的文章,分享给你

深入理解JAVA数组.rar

968.44 KB, 下载次数: 141

回复 使用道具 举报
郝滨 中级黑马 2013-2-23 13:16:09
8#
简单的说 二维数组就是有两个变量 i j;在遍历的时候要分别考虑,所取的元素数有i*j个。
交错数组是一个特殊的二维数组,就是i j中有一个是常数。在遍历中出现横向或纵向的传递,便为交错状。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
在内存中的数据都是呈线性的,所以说不管是什么数组,其实他的本质都是一维数组
很简单的理解,汉字为元素的话,一维数组就是一句话,二维数组是一首唐诗,交错数组是一首宋词

一维数组: 很好理解,存储相同数据类型的一组元素
  1. 1.   int[] arr={10,12,15};
  2. 2.   int[] arr=new int[]{10,12,15};
  3. 3.   int[] arr=new int[3];
  4.                 arr[0]=10;
  5.                 arr[1]=12;
  6.                 arr[2]=15;
复制代码
二维数组:   其实也就是一维数组,只是他的每一个元素又是一个一维数组(长度相等)
  1. int arr[][]=new int[4][];
  2. arr[0]=new int[5];
  3. arr[1]=new int[5];
  4. arr[2]=new int[5];
  5. arr[3]=new int[5];     //二维数组中的每个元素数组的长度相等
  6. //二维数组的创建允许[]在数组名左边或者是右边都可以,所以
  7. //int arr[][]=new int[4][]; 等价于 int[][] arr=new int[4][]; 等价于 int []arr[]=new int[4][];
复制代码
交错数组:   跟二维数组不同的是,他的每一个元素是一个一维数组,只是长度不相同,像 唐诗跟宋词一样的区别
  1. int[][] arr=new int[4][];
  2. arr[0]=new int[2];
  3. arr[1]=new int[4];
  4. arr[2]=new int[6];
  5. arr[3]=new int[8];     //交错数组中的每个元素数组的长度可以不相等
复制代码

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马