使用配对模板实现列表模板
Implementing a List template using a Pair template
我正在尝试使用自己的对类实现单个链接的列表模板类。我正在这样做是为了刷新我的C 技能,所以这就是为什么我不只是使用STL。
我的列表模板由单一类型进行了参数:
template <typename T>
class LinkedList
{
private:
Pair<T, Pair<???>* >* _head;
};
问题是我希望_head是一对,其第二个元素是同一类型的一对。这个想法是_head.first是元素,_head.second是指向列表其余部分或null的指针,如果是最后一个元素。
有没有一种方法来使用引用自身的模板类型?
也许您试图做这样的事情:
template <typename T>
class LinkedList
{
private:
Pair<T, ListList<T> >* _head;
};
典型单链接列表由 nodes 组成,每个节点都包含一个指向下一个节点的指针或一个空指针来发出信号:
template <typename T> List
{
struct Node
{
Node * next;
T value;
};
Node * head;
List() : head(NULL) { }
// ... insert, delete, find, iterate ...
}
相关文章:
- 使用简单类型列表实现的指数编译时间.为什么
- 如何理解C++中链表的自由列表实现?
- 单链接列表实现,规则为 3
- 使用邻接列表C++实现 Dijkstra
- 内部源代码 - 在链接列表实现中插入元素上的删除会破坏整个应用程序
- 点产品计算链接列表实现
- 跳过 cpp 中的列表实现
- 使用链接列表实现stack类来验证XML文件
- 带有列表实现的逻辑模拟器c++
- C 链接列表实现
- 使用链接列表实现堆栈,调试断言失败
- C++跳过列表实现-返回的值已损坏,内存泄漏
- 链接数组列表实现
- 自定义列表实现迭代器无法访问最后一个元素 (c++)
- 链接列表C++实现
- 使用列表C++实现选择排序
- 为什么头部不改变 - 链接列表实现
- boost 如何将类型列表实现为类的"options"?
- 不同类的成员列表实现不起作用
- 自定义STL列表实现问题