参考资料:
0.关联容器与顺序容器的区别
关联容器中的元素是按关键字来保存和访问的。而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。
关联容器支持高效的关键字查找与访问。两个主要的关联容器类型是map与set。
1.红黑树
(1)定义:
节点非红即黑;根节点黑色;空节点为叶子,叶子为黑;红节点孩子必为黑;从根到任意叶子,经过的黑节点数相等。
(2)除了红节点,树为满树
(1) set无重复元素,插入的元素自动按增序排列。内部实现: 红黑树。multiset允许重复元素
(2) 主要的功能就是判重,也可以进行二分查找。set与map的查找、删除、插入性能都是对数复杂度。
(3)操作:
set<int> s;
s.insert(2); s.erase(2); s.clear();
set<int>::iterator rit;
for(it=s.begin() ; it!=s.end() ; it++ )
it=s.find(5); //查找键值为5的元素
(4)重载运算符
struct myComp { bool operator < (const your_type &a,const your_type &b) { return a.data-b.data>0; } } set<int,myComp>s; set<int,myComp>::iterator it;
是的我今天仍旧没有看完...
15号接着看吧...其他算法也没看光stl花了两天学不完...阿西吧快开学了好焦虑