//使用结构体构造线性表
typedef struct SeqList { ElemType *elem; size_t capacity; size_t size; }SeqList;
//使用模板类来构造线性表
const int DefaultSize = 100; template<typename Type> class SeqList { public: SeqList(int sz = DefaultSize):m_nmaxsize(sz),m_ncurrentsize(-1) { if(sz > 0) { m_elements = new Type[m_nmaxsize]; } } ~SeqList() { delete []m_elements; } public: int Length() const { return m_ncurrentsize + 1; } int IsEmpty() { return m_ncurrentsize == -1; } private: Type *m_elements; const int m_nmaxsize; int m_ncurrentsize; };
从代码上看直接结构体来构建貌似更省事,但是效率上而言模板在类型值上更优。
原文:http://www.cnblogs.com/waiting-for/p/4326293.html