数组总结
基础知识📚
数组定义: 数组是存放在连续内存空间上的相同类型数据的集合
注意点:
- 数组下标从0开始。
- 数组内存空间的地址是连续的。
- 因为地址连续,所以不能直接删除,只能覆盖 => 理解:移动其余元素覆盖删除元素的地址。
- 二维数组即数组的每一个元素都是一个数组,三维、四维、n维同理。
- 二维数组在内存中的空间连续,连续指:四条连续的的地址空间。
JS数组注意点:
- JS不同于传统语言,JS的数组中存放的数据类型可以不同,因此地址不一定连续。在存放不同数据类型的情况下,对数组进行下标取值采用的是哈希映射的方式。
- 当代JS引擎为了优化性能,在遇到数据类型相同的数组时会自动分配给其一个连续的内存空间,也就是说,一个由相同类型的元素组成的数组,它的内存地址仍然是连续的。
- 此外,JS提供了
ArrayBuffer
这种方式以帮助程序员获取一个固定长度的内存,使用ArrayBuffer
这一技术的数据结构很多,例如DataView
、定型数组
等。
解题思路🤔
1.二分法
题目举例ÿ