-3

リストの最後の場所に要素を配置する方法について、この 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) );
4

1 に答える 1

3

リストの最初のノードから始めて、nextNULL のノードが見つかるまでノードをたどります。新しいノードを作成し、それに割り当てますnext

最初->次->次->次->... 次->NULL

それから

first->next->next->next->... next->new_node->NULL

于 2013-05-25T12:27:35.867 に答える