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++ 指针指向一维数组的指针
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,954评论 18 399
  • 回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...
    fredal阅读 14,687评论 0 89
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 9,551评论 2 13
  • 你不会懂鱼的悲哀 留不住的过去 放不下的现在 你不会懂风的寂寞 填不满的空虚 停不下的流浪 本来就是两个独立的灵魂...
    大写的张十五阅读 1,209评论 0 2
  • 一切于今日嘎然而止,没有争吵,没有指责,只剩冷漠......从此陌路……
    雨沫1109阅读 681评论 0 0