从数组到向量
向量是数组的抽象和泛化,由一组元素按照线性次序封装而成
各元素[0,n)内的秩一一对应 //循秩访问
元素的类型不限于基本类型
操作,管理更加简化,统一和安全
可以更为便捷的参与复杂数据结构的定制与实现
向量ADT接口
size() 报告当前规模
get(r) 获取秩为r的元素
put(r,e) 用e替换秩为r元素的数值
insert(r,e) e作为秩为r元素插入,原后继元素依次后移
remove(r) 删除秩为r的元素,返回该元素中原存放的对象
uniquify() 去重
Vector模板类
typedef int Rank;
#define DEFAULT_CAPACITY 3
template <typename T> class Vector
{
private:Rank _size; int _capacity; T* _elem;
pritected