链表List 类模板界面

来源:百度文库 编辑:神马文学网 时间:2024/07/08 22:42:59
List带头结点的循环双向链表节点类型:
template
struct Dnode {
T value_;
Donde* next_;
Donde* prev_;
Dnode(T const& v, Dnode* n, Dnode* p) //构造函数,初始化;
:value_(v), next_(n), prev_(p) { }
}; List 类模板界面:
template
struct List {
typedef T Value_type; //T别名;
typedef /* */ Iterator; //迭代子别名;
Dnode* 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); //返回指向尾节点的迭代子;
};