数据结构类似于链表中的节点

时间:2014-09-11 03:19:38

标签: c++ data-structures linked-list

我试图实现链接列表,我不知道如何创建数据结构作为节点,在STL c ++中我们可以这样做:

list< list< pair< int,int>>> test;

这是我的代码:

template <typename Type>
class Node{
  template <typename X, class Y> friend class List;
  template <typename X> friend class ListIterator;
  Type data;
  Node<Type>* next;
  public:
    Node(Type x):data(x), next(NULL){}
    Node(Type x, Node<Type>*& _next):data(x), next(_next){}
    virtual ~Node(){};
};

template <typename Type, class Trait=Forward<Type> >
class List{
  typedef typename Trait::C C;
  typedef List<Type> itself;
  typedef Node<Type> nodeHelp;
  int size_list;
  Node<Type>* head;
  C compare;
  public:
   typedef ListIterator<Type> iterator;
    List(){ 
      head = NULL; 
      size_list = 0;
    }
    virtual ~List(){
      Node<Type>* temp;
      while(head){
        temp = head->next;
        delete head;
        head = temp;
      }
};

所以,我想也许我可以创建一个复制数据的构造函数,但我不知道该怎么做。

0 个答案:

没有答案