一、顺序表的结构
表头:存储顺序表的信息
包括数据区的容量和当前表中已有的元素个数
数据区:存放表中元素数据
我们在创建一个数据表的时候先明确要存储多少的数据,顺序表数据要求连续的存储在内存空间中,所以先向计算机内存中申请连续的内存空间,而并不是用一个再取申请一个,所以要先预估容量是多少
如果用一个取申请一个内控地址,内存地址不会连续,可能有其他的程序在计算机中申请了内存地址
二、顺序表分类
一体式顺序表:表头与数据区存放在一起
如图为:内存容量为为4,元素个数为3,存储的数据为12,34,56,3个数据
分离式顺序表:表头与数据区分开存储
如图:内存容量为4,元素个数为3,存储的数据是12,34,56三个数据
三、顺序表扩充
扩充需要申请一块更大的数据区
一体式顺序表:表头和数据区存储在一起,扩容时表头也要跟着变化
分离式顺序表:表头和数据区分开存储,扩容时表头不足要变化
四、一体式顺序表和分离式数据表的区别
1、查询数据
a=[12,34,56]
通过第一个地址,根据公式可以得到其他数据所在的地址
分离式数据表:根据表头内存地址先要拿到数据区的内存地址(第一个数据所在的内存地址),再根据第一个地址去拿其他数据的地址
2:扩容
例如:要在列表中新增2个数据78,90
a=[12,34,56,78,90]
原内存空间不够,需要申请内存空间
一体式数据表表头需要改变
分离式数据表表头不改变