2.一维和多维,静态与动态数组

1.数组概论

  • 数组是一种按顺序存储的数据结构,可以使用下标进行随机化访问。

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++ 指针指向一维数组的指针

推荐阅读更多精彩内容