概述
AList 是一种基于动态数组(resizable array)实现的线性表。内部用一个数组存放元素,当数组装满时按一定策略扩容;这样既保留了数组的随机访问效率,又能动态增长容量以适应大小变化

不变量
最后一项的索引永远是 size -1
如果要删掉最后一项那么 size -1
列表大小永远是 size
改变 array 的大小(resizing)
通过数组复制的方法改变 array 大小的时候,可以用乘 n,而不是加 n,这样速度会显著变快

AList 是一种基于动态数组(resizable array)实现的线性表。内部用一个数组存放元素,当数组装满时按一定策略扩容;这样既保留了数组的随机访问效率,又能动态增长容量以适应大小变化

最后一项的索引永远是 size -1
如果要删掉最后一项那么 size -1
列表大小永远是 size
通过数组复制的方法改变 array 大小的时候,可以用乘 n,而不是加 n,这样速度会显著变快
