实现代码
#include <stdlib.h>
typedef int Rank;
template <typename T> class Vector{
protected:
Rank _size;
int _capacity;
T* elem;
void shrink();
void expand();
public:
Vector(int s ,T v);
Vector(T const* a,Rank n);
~Vector();
Rank size() const;
bool isOrdered() const;
T& operator[](Rank r) const;
T& operator=(Vector<T> const& v);
Rank insert(Rank n, T const& e);
Rank append(T const& e);
T remove(Rank r);
void clear();
Rank search(T const& e) const;
Rank binarySearch(T const& e) const;
void sort();
void unsort();
void copyFrom(Vector<T> const& V,Rank low, Rank high);
int deduplicate();
void traverse(void (*)(T&));
};
template <typename T>
Vector<T>::Vector(Rank s,T v ){
_size=_capacity=s;
elem=new T[s];
for(int i=0;i<_size;i++)
elem[i]=v;
}
template <typename T> Vector<T>::Vector(T const* a,Rank n){