0

単純なLinkedListクラスを作成しました。私は最初にNodeクラスを持っています:

class Node
{
   public:
       Node* next;
       int value;
       Node(int val)
       {
          value = val;
          next = NULL;
       }

       Node(int val, Node* y)
       {
          value = val;
          next = y;
       }
}

その場合、LinkedListの実装は簡単で、Node* headメンバーとaddNode(int value)メンバー関数があります。

リンクリストを実装する他の方法は何ですか?他のそのような実装を与えるか、関連するドキュメントにヒントを与えることができますか?

ありがとう、よろしく。

4

3 に答える 3

2

標準ライブラリでは、使用できる二重リンク リストの実装が定義されています (たとえば、こちらを参照してください)。よほどの理由がない限り、使用することをお勧めします。

于 2012-09-26T06:44:43.343 に答える
0

Boost にはいくつかの実装があります : http://www.boost.org/doc/libs/1_51_0/doc/html/intrusive/slist.html侵入/list.html

于 2012-09-26T06:46:23.717 に答える
0
  1. deleteNode
  2. findNode
  3. Mabe イテレータを作成します。

また、コンストラクターとプライベート データ メンバーで初期化リストを使用することをお勧めします。NULL は C 用です。代わりに 0 を使用してください。

すなわち

class Node
{
   private:
      Node* next;
      int value;
   public:

      Node(int val) : next(0), value(val) {}
      Node(int val, Node *n) : next(n), value(val) {}
      int getVale() { return value}
};
于 2012-09-26T06:48:11.523 に答える