【发布时间】:2013-05-13 13:17:03
【问题描述】:
我正在尝试创建一个数据结构,其中有一个平衡的 BST 和一个双向链表。链表将小于 BST,因此在任何时候都只会包含 BST 中的元素的一个子集。每个节点LL 会指向它在 BST 中对应的节点,如果该节点存在于链表中,则 BST 节点将指向它的 LL 节点,否则将存储 null。
为了创建这个数据结构,我计划将 std::set 用于 BST,将 std::list 用于双向链表.如果我存储对彼此元素迭代器的引用来执行此操作是否可以。该集合是否有可能进行平衡并反过来使链表持有的迭代器无效。方法是否存在任何其他问题?
如何在 C++ 中使用 STL 或任何其他库来执行此操作?
(我想创建这个数据结构来创建 LRU 缓存)
【问题讨论】:
标签: c++ data-structures stl