在C++中,我们可以将红黑树与其他STL容器相结合使用,以满足不同的需求。
例如,我们可以使用std::map来实现一个基于红黑树的有序映射,这样可以在O(log n)的时间复杂度内进行插入、查找和删除操作。
#include <iostream>#include <map>int main() { std::map<int, int> rbtree; rbtree.insert({1, 10}); rbtree.insert({2, 20}); rbtree.insert({3, 30}); for (auto& it : rbtree) { std::cout << it.first << " : " << it.second << std::endl; } return 0;}另外,我们还可以使用std::set来实现一个基于红黑树的有序集合,同样可以在O(log n)的时间复杂度内进行插入、查找和删除操作。
#include <iostream>#include <set>int main() { std::set<int> rbtree; rbtree.insert(3); rbtree.insert(1); rbtree.insert(2); for (auto& it : rbtree) { std::cout << it << std::endl; } return 0;}通过将红黑树与其他STL容器相结合使用,我们可以充分发挥各自的优势,实现高效的数据结构操作。




