链表的几种实现 - C++
Several implementation for a linked list - C++
我写了一个简单的LinkedList类。我首先有一个节点类:
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)
成员函数。
实现链表的其他方法是什么? 可以给出其他这样的实现或暗示相关文档吗?
谢谢和问候。
标准库定义了您可以使用的双向链表实现(例如,请参阅此处)。我建议使用它,除非你有很好的理由不这样做。
Boost 有一些实现:http://www.boost.org/doc/libs/1_51_0/doc/html/intrusive/slist.htmlhttp://www.boost.org/doc/libs/1_51_0/doc/html/intrusive/list.html
-
deleteNode
-
findNode
- 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}
};
相关文章:
- 在C++中,如何通过几种类型从元组中选择多个元素
- 如何在同一个模板功能上专门化几种类型?
- 在 C 中并行化嵌套循环的几种方法之间的差异,C++使用 OpenMP
- Qt - 在没有正则表达式的情况下,将 QString 拆分为几种类型的空格
- 从文件中读取未签名字符的几种不同方法
- C++阿特金的筛子返回了几种复合材料
- 最简单的方法来封装几个语句中的几种语句
- 一些应用程序是如何用几种编程语言制作的
- 在 C++Amp 中并行执行的几种算术运算
- 链表的几种实现 - C++
- 几种特定方法或一种通用方法
- Qt-拆分一个QString,使用几种类型的空白作为分隔符
- 将 void* 强制转换为仅在运行时已知的几种类型
- C ++中的几种分配内存方法有什么区别
- 以下哪种实现应该用于标记调度?为什么?
- LNK2019错误-未找到外部符号.尝试了几种解决方案
- 声明空/默认构造函数的几种方法之间的差异
- 以几种组合替换
- 将几种类型的数据读入数组
- 用指针写条件的几种方式的区别