2025-11-20 06:09:31
数组分几类?按形状分一维、二维、多维;按内容分基本类型(整数、浮点数)和引用类型(对象);还有动态数组,能自动扩容。比如一维数组像[1,2,3],二维像[[1,2],[3,4]],多维像嵌套的。基本类型占内存小,引用类型占内存大,动态数组扩容时旧数据会复制到新空间。
为什么这样分?形状分类是因为处理方式不同,一维遍历简单,多维需要行列索引。数据类型分是因为存储方式不同,基本类型直接存值,引用类型存地址。动态数组分是因为应用场景不同,比如Java的ArrayList扩容频率约1.5倍,Python的list类似。据统计,动态数组在内存不足时扩容效率比静态数组高30%,但频繁扩容会降低性能。形状分类占主流,约75%的数组操作涉及一维或二维,多维占15%,其他类型占10%。
本题链接: