把元素放在链表的最后

Putting element last in linked list c++

本文关键字:最后 链表 元素      更新时间:2023-10-16

我想得到一些帮助,我应该如何编写这个add()函数,如何把元素放在列表的最后一个位置。现在看起来是这样的:

我已经编辑了它,现在已经有了我的类:

        #include <iostream>
        using namespace std;
        template <class T>
        class List;
        template <class T>
        class Node {
        public:
          Node ( T *t) : data(t), next(0) {}
          ~Node();
        private:
          T *data;
          Node* next;
          friend class List<T>;
        };
        template <class T>
        class Predicate {
         public:
          Predicate() {}
          virtual bool operator()( const T& v) = 0;
        };
        template <class T>
        class List {
        public:
          List() : first(new Node<T>(T())) {} //"dummy"-nod först
          void add( T *t );
          void remove_if( T t );
          void remove_if( Predicate<T> &pred );
          void print();  // skriver alla elementen inom "måsvingar"
        private:  
          Node<T> *first;
        };

在我的主目录中,我有:

   int main()
    List<int> intlista;
      intlista.add( new int(1) );
      intlista.add( new int(2) );
      intlista.add( new int(3) );
      intlista.add( new int(2) );
      intlista.add( new int(4) );
      intlista.add( new int(5) );
      intlista.add( new int(6) );

从列表的第一个节点开始,跟踪next节点,直到找到一个为NULL的节点。创建一个新节点,并将其分配给该next

第一下一步-> ->下一个>>…下一步->空

然后

第一下一步-> ->下一个>>…下一步-> new_node——零

>