/* 基于C++平台*/
typedef int rank; //用int来定义 “秩” 这种概念#define DEFAULT_CAPACIITY 3 //默认初始容量,实际应用中可以取更大的值templateclass Vector{ //我们定义了一个Vector这样的模板类 private:Rank _size;//私有的封装和隐藏的变量 int _capacity.//容量 T* _elem;//存放元素的空间 protected: /* ...内部函数*/ public: /*...构造函数*/ /*...析构函数*/ /*...只读接口*/ /*...可写接口*/ /*...遍历接口*/}
向量的默认构造:
Vector(int c=DEFAULT_CAPACITY){ //如果没有指定会按照默认的容量制定一个数值 _elem = new T[_capacity = c] //申请一个长度为c,基本类型就是模板参数T的一段连续的数据空间,把这个空间的首地址交给内部的_elem记下来 _size = 0;}
Vector(T const * A,Rank lo,Rank hi){ //const * A为一个数组,数组区间复制 copyFrom(A,lo,hi);//调用一个叫做copyFrom()的内部接口实现}Vector(Vectorconst& V,rank lo,rank,hi){ copyFrom(V._elem,lo,hi);//向量区间复制}Vector(Vector const& V){ copyFrom(V._elem,0,V._size);//向量整体复制}Vector(Vector const& V){ copyFrom(V._elem,0,V._size);}~Vector(){ delete [] elem; //释放内部空间}