На основании комментариев, чтобы уточнить, это наиболее распространенные варианты, но в зависимости от желаемой сложности и других факторов, поддержка этих реализаций может варьироваться:
Вектор = динамическое изменение размерамассив
список = двусвязный список
набор = красное / черное дерево (сбалансированное дерево двоичного поиска)
я думаювозможно, вы путаете кучи и BST.Куча визуализируется в виде дерева, но на самом деле она построена поверх индексируемой структуры списка (например, массива или вектора).C ++ предоставляет функции кучи через заголовок алгоритма в STL.BST представляют собой структуру, основанную на ключе / значении, используемую для эффективного поиска (что обычно требуется для набора).