Java教程

【笔记】STL的七种武器(一)关联容器

本文主要是介绍【笔记】STL的七种武器(一)关联容器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

参考资料:

 

 

0.关联容器与顺序容器的区别

  关联容器中的元素是按关键字来保存和访问的。而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。
  关联容器支持高效的关键字查找与访问。两个主要的关联容器类型是map与set。

 

1.红黑树

(1)定义:

  节点非红即黑;根节点黑色;空节点为叶子,叶子为黑;红节点孩子必为黑;从根到任意叶子,经过的黑节点数相等。

(2)除了红节点,树为满树

 

2.set / mutiset

(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花了两天学不完...阿西吧快开学了好焦虑

 

这篇关于【笔记】STL的七种武器(一)关联容器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!