一不小心又在语法的深渊里挣扎了两天,终于爬出来了,心累,下面开始正题。
表是一种最初级的数据结构,它除了头和尾的每一个元素都有一个直接的前驱和后继,它允许的操作包括:指定元素访问、插入、删除,指定位置的的访问、插入删除。
它有两种实现方式,数组实现和链表实现。
数组实现,也就是STL库中的vector,也叫向量。链表实现,就是STL库中的list。我已将把它们的阉割版实现了一遍。这里先分析一下Vector的实现。
Vector
目标:
- 多种构造方式
- 动态分配空间
- 头插和尾插
- 重载索引
- 迭代器
要点:
Vector一共有三个最基本的私有成员:theSize,Vector中已存入元素数目;theCapacity,Vector的容量;Object,Vector中用来装元素的数组protected: int theSize; int theCapacity; Object* objects;
explicit Vector(int initSize = 0):