Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > B-Tree |
Автор: Domain 18.12.2011, 23:52 |
Всем привет. Есть задача. Реализовать в виде программы заданный набор операций (принадлежность, поиск, объединение, разность, пересечение) с использованием управляющей структуры данных – B-дерево порядка k=4. В Java есть TreeSet, а в си или с++ есть что-то подобное? Реализаций B-Tree в инете завались, а вот методов аналогичных retainAll и removeAll я не видел. Что посоветуете, может есть у кого готовая реализация. |
Автор: bsa 19.12.2011, 00:18 |
обычно, http://en.cppreference.com/w/cpp/container/set реализуется через черно-красное бинарное дерево. И там есть метод clear. А вот аналога retainAll нет. Придется писать самому. |
Автор: Domain 19.12.2011, 09:35 |
Это вообщем не радует. А идеи по retainAll есть ? Т.е. как его реализовать, алгоритм. |
Автор: bsa 19.12.2011, 10:46 |
Domain, конечно. ничего сложного там нет. просто удаляешь все элементы, которые отсутствуют в другом контейнере. В чем проблема? for, std::set::erase, std::set::count тебе в помощь. |
Автор: Domain 21.12.2011, 01:05 |
а как понять B-дерево порядка k=4 ? |
Автор: bsa 21.12.2011, 11:48 | ||
|