C++ 创建由链接平衡bst和双链接列表组成的数据结构

C++ 创建由链接平衡bst和双链接列表组成的数据结构,c++,data-structures,stl,C++,Data Structures,Stl,我正在尝试创建一个数据结构,其中有一个平衡的BST和一个双链表。链表将比BST小,因此在任何时候都将只保存BST中的元素子集。LL的每个节点将指向BST中对应的节点,如果链接列表中存在该节点,则BST节点将指向其LL节点,否则它将存储null 为了创建这个数据结构,我计划使用std::set作为BST和std::list用于双链接列表。如果我存储对每个其他元素的引用,是否可以执行此操作。该集合是否有可能执行平衡并使链接列表持有的迭代器失效。该方法是否存在其他问题 (我想创建此数据结构以创建LR

我正在尝试创建一个数据结构,其中有一个平衡的BST和一个双链表。链表将比BST小,因此在任何时候都将只保存BST中的元素子集。LL的每个节点将指向BST中对应的节点,如果链接列表中存在该节点,则BST节点将指向其LL节点,否则它将存储null

为了创建这个数据结构,我计划使用std::set作为BST和std::list用于双链接列表。如果我存储对每个其他元素的引用,是否可以执行此操作。该集合是否有可能执行平衡并使链接列表持有的迭代器失效。该方法是否存在其他问题

<如何在C++中使用STL或其他库来实现这一点?< /P>
(我想创建此数据结构以创建LRU缓存)

std::set
在集合中插入新元素时,迭代器仍然有效,因此在列表中保留迭代器时,这不会导致问题。从集合中删除元素将使这些元素的迭代器失效(显然),但其他迭代器仍然有效。

C语言中带有双链表的平衡二叉搜索树++

这是: