Какова основная структура данных набора STL в C ++?
Я хотел бы знать, как набор реализован в C ++. Если бы я реализовал свой собственный наборный контейнер без использования предоставленного STL-контейнера, каков был бы лучший способ выполнить эту задачу?
Я понимаю, что наборы STL основаны на абстрактной структуре данных двоичного дерева поиска. Итак, какова основная структура данных? Массив?
Кроме того, какinsert()
работать на съемочной площадке? Как набор проверяет, существует ли в нем элемент?
Я читал в википедии, что еще один способ реализовать набор с помощью хэш-таблицы. Как это будет работать?