数组理论知识
数组是存放在连续内存空间上的相同数据类型的集合。
注意
- 数组下表都是从0开始的。
- 数组内存空间的地址是连续的
正是因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址
例如删除下表为3的元素,需要对下表为3的元素后面的所有元素都要做移动操作,
时间复杂度为O(n),所以数组不适合做频繁的增删操作 ,这一点在以后解题选择容器的时候中也是非常重要的。
至于二维数组,直接上图,大家应该就知道怎么回事了,图中a[][]表示的就是二维数组
二维数组其实就是一个矩阵
那么二维数组在内存的空间地址是连续的么?
我们来举一个例子,例如: int[][] rating = new int[3][4];
, 这个二维数据在内存空间可不是一个 3*4
的连续地址空间
如图所示:
二位数组中其实是一个线性数组存放着 其他数组的首地址。
所以二维数据在内存中不是 3\*4
的连续地址空间,而是四条连续的地址空间组成!
很多同学会以为二维数组在内存中是一片连续的地址,其实并不是。
标签:元素,二维,内存空间,地址,连续,数组,理论知识 来源: https://www.cnblogs.com/nj123/p/14492098.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。