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