数组概论
数组是一种按顺序存储的数据结构,可以使用下标进行随机化访问。
2.静态数组
2.1 一维数组
使用顺序存储,可以随时改变其中内容。
申请方式:
语言 | 申请方式 |
---|---|
java | 数组类型 变量名[]=new 数组类型[个数] |
c++ | 数组类型 变量名[个数] |
存储方式:在内存中连续存储。
2.2 二维数组和多维数组
二维数组是使用数组作为数组的元素进行存储,多维数组是迭代这个过程。
申请方式:
语言 | 申请方式 |
---|---|
java | 数组类型 变量名[][]=new 数组类型[行数][列数] |
c++ | 数组类型 变量名[行数][列数] |
存储方式:
依次存储,第一行存完后开始存第二行。
3.动态数组
3.1一维动态数组
一维动态数组是在不确定数组元素有多少个时使用。
申请方式:
|语言|申请方式|
|-|-|
|java|数组类型 变量名[]=new 数组类型[n]|
|c++|数组类型 *变量名[]=new 数组类型[n] |
存储方式:
动态向系统申请存储空间,依次存储。
注:
c++使用完需要使用delete 变量名删除申请的空间,java则不需要。
3.2 二维动态数组和多维动态数组
二维动态数组是使用数组作为数组的元素进行存储,多维动态数组是迭代这个过程。
申请方式:
语言 | 申请方式 |
---|---|
java | 数组类型 变量名[][]=new 数组类型[n][m] |
c++ | 指针指向一维数组的指针,见代码 |
代码
int **a;a=new int*[m]//设置行for(int i=0;i<m;i++){
a[i]=new int[n];//设置列}
...for(int j=0;j<m;j++){delete(a[j]);
}delete a;
存储方式:
动态向系统申请存储空间,依次存储。
4.总结
类型 | 语言 | 申请方式 |
---|---|---|
一维数组 | java | 数组类型 变量名[]=new 数组类型[个数] |
一维数组 | c++ | 数组类型 变量名[个数] |
二维数组 | java | 数组类型 变量名[][]=new 数组类型[行数][列数] |
二维数组 | c++ | 数组类型 变量名[行数][列数] |
一维动态数组 | java | 数组类型 变量名[]=new 数组类型[n] |
一维动态数组 | c++ | 数组类型 *变量名[]=new 数组类型[n] |
二维动态数组 | java | 数组类型 变量名[][]=new 数组类型[n][m] |
二维动态数组 | c++ | 指针指向一维数组的指针 |
文/breakingsword(简书作者)
原文链接:http://www.jianshu.com/p/3d0534b9bea3