stl
itsRae
这个作者很懒,什么都没留下…
展开
-
map
1.基本概念 map通过operate<()比较元素,排列方式是平衡二叉树,查找元素复杂度log(n) 元素是以键的升序排列的,因为 map 中默认使用 less 函数对象对它们进行排序。 map元素是pair<constT,K>,键为常量不可修改 map迭代器可以++转载 2019-02-03 12:47:37 · 167 阅读 · 0 评论 -
pair/tuple
1.pair pair<T1,T2> 模板定义在 utility 头文件中 初始化pair: std::pair<std::string, std::string> his_pair{"test", std::string {"that"}}; auto your_pair = std::make_pair("test",std::string {"that"});//省转载 2019-02-06 20:58:18 · 147 阅读 · 0 评论 -
multimap
multimap 默认的比较键的函数是 less() multimap 容器的成员函数 insert() 插入总是成功,返回一个指向插入元素的迭代器。 iter = pets.insert(iter, std::make_pair(&quot;dog&quot;, &quot;Spot&quot;)); // Insert Spot before Fang,元素会被插入到 iter 所指向元素的前面 multimap 不支持转载 2019-02-06 20:59:42 · 437 阅读 · 0 评论 -
hash/unordered_map
1.hash functional 头文件中定义了 hash 模板,可以从 K 类型的对象生成哈希值的函数对象的类型。接受 K 类型的单个参数,然后返回 size_t 类型的哈希值,对于相等的键必须产生相等的哈希值,对于不相等的键产生碰撞的可能性必须最小接近 size_t 最大值的倒数 std::hash&amp;amp;lt;int&amp;amp;gt; hash_int;// Function object to hash...转载 2019-02-08 20:48:40 · 297 阅读 · 0 评论 -
set
1.基本概念 set,multiset默认使用 less 来对元素排序,必须支持比较运算 unordered_set,unordered_multiset使用哈希值来保存元素,必须支持哈希运算 set组织方式为平衡二叉树 set没有[]和at() 2.初始化 (1)初始化列表,默认比较函数是less std::set<int> numbers {8, 7, 6, 5, 4, 3, 2,...转载 2019-02-12 11:30:30 · 110 阅读 · 0 评论