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 http://www.boost.org/doc/libs/1_51_0/doc/html/侵入性/list.html

于 2012-09-26T06:46:23.717 回答
0
  1. deleteNode
  2. findNode
  3. Mabe 创建一个迭代器。

在构造函数和私有数据成员中使用初始化列表也更好。NULL 用于 C,使用 0 代替。

IE

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 回答