二叉链表结点的实现
template<typename T> struct BiNode{ T data; BiNode<T> *lchild,*rchild; };
双向链表的实现
template<typename T> struct Node{ T data; Node<T> *llink; Node<T> *rlink; }; template<typename T> class DoubleLink{ private: Node<T> *head; public: DoubleLink(); ~DoubleLink(); void Append(T data); void Display(); void Insert(int locate,T data); T Get(int locate); T Delete(int locate); };
循环链表的定义
template<typename T> struct Node { T data; Node<T> *next; }; template<typename T> class CycleLinkList{ public: CycleLinkList(); CycleLinkList(T a[],int n); CycleLinkList(T a[],int n,int i); ~CycleLinkList(); int Length(); T Get(int i); void Insert(int i,T x); T Delete(int i); void PrintList(); private: Node<T> *first; };
//链表结点数据类型的定义 template<typename T> struct Node { T data; Node<T> *next; };