set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。
平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。
构造set集合主要目的是为了快速检索,不可直接去修改键值.并且set容器中有去重的效果
#include <iostream> #include <algorithm> #include <vector> #include <set> using namespace std; set<int> s; set<int>::iterator it; int main() { s.insert(4); s.insert(2); s.insert(1); s.insert(3); s.insert(5); s.insert(1); for(it = s.begin(); it != s.end(); it++) cout<<*it<<" "; cout<<endl<<s.size()<<endl;; it = s.end(); s.erase(4); for(it = s.begin(); it != s.end(); it++) cout<<*it<<" "; cout<<endl<<*s.find(1)<<endl; return 0; }