List带头结点的循环双向链表节点类型:
template<typename T> struct Dnode { T value_; Donde* next_; Donde* prev_; Dnode(T const& v, Dnode* n, Dnode* p) //构造函数,初始化; :value_(v), next_(n), prev_(p) { } }; List 类模板界面: template<typename T> struct List { typedef T Value_type; //T别名; typedef /* */ Iterator; //迭代子别名; Dnode<T>* head_; //头结点; List(void); //构造函数; ~List(void); //析构函数; bool empty(void) const; //判空函数; int size(viod) const ; //返回链表元素; T& front(void); //返回对头结点元素的引用; T& back(void); //返回对尾节点元素的引用; void pop_back(void); //删除尾节点; void pop_front(void); //删除头结点; void erase(Iterator me); //删除me指向的节点; void push_back(T const& v); //添加尾节点; void push_front(T const& v); //添加头结点; void insert(Iterator here, T const& v); //在here之 插入; Iterator begin(void); //返回指向头结点的迭代子; Iterator end(void); //返回指向尾节点的迭代子; }; |
|
来自: BUPT-BYR > 《cpp类模板及树相关》