STL教程:C++ STL快速入门(非常详细)

    技术2022-07-11  75

    网址  http://c.biancheng.net/stl/

     

    STL 是“Standard Template Library”的缩写,中文译为“标准模板库”。STL 是 C++ 标准库的一部分,不用单独安装。

    C++ 对模板(Template)支持得很好,STL 就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离。例如,vector 的底层为顺序表(数组),list 的底层为双向链表,deque 的底层为循环队列,set 的底层为红黑树,hash_set 的底层为哈希表。

    这套 C++ STL 入门教程非常详细,旨在让您快速学会标准模板库的使用。读者需要具备 C++ 基础,并了解C++模板的用法。

    第1章 STL基础

    1. C++ STL是什么,有什么用?

    2. C++ STL的发展历程是怎样的?

    3. C++ STL版本有哪些?

    4. 熟练使用STL标准库是每个C++程序员的必备技能!

    5. 泛型是什么,C++泛型编程又是什么?

    6. C++ STL基本组成(6大组件+13个头文件)

    7. 如何衡量一个算法的执行效率?

    8. GNU开源精神及其发展历程

    第2章 STL序列式容器

    1. C++ STL容器是什么?

    2. 迭代器是什么,C++ STL迭代器(iterator)用法详解

    3. C++序列式容器(STL序列式容器)是什么

    4. C++ array(STL array)容器用法详解

    5. C++ STL array随机访问迭代器(精讲版)

    6. C++ STL array容器访问元素的几种方式

    7. C++ array容器:普通数组的“升级版”

    8. C++ STL vector容器详解

    9. C++ STL vector容器迭代器用法详解

    10. C++ STL vector容器访问元素的几种方式

    11. C++ vector容量(capacity)和大小(size)的区别

    12. 深度剖析C++ vector容器的底层实现机制

    13. C++ STL vector添加元素(push_back()和emplace_back())详解

    14. C++ STL vector插入元素(insert()和emplace())详解

    15. C++ STL vector删除元素的几种方式(超级详细)

    16. 如何避免vector容器进行不必要的扩容?

    17. vector swap()成员方法还可以这样用!

    18. 切忌,vector<bool>不是存储bool类型元素的vector容器!

    19. C++ STL deque容器(详解版)

    20. C++ STL deque容器迭代器用法详解

    21. 深度剖析deque容器底层实现原理

    22. C++ STL deque容器访问元素(4种方法)

    23. C++ STL deque容器添加和删除元素方法完全攻略

    24. C++ list(STL list)容器完全攻略(超级详细)

    25. C++ STL list迭代器及用法(详解版)

    26. C++ list容器底层存储结构(详解版)

    27. C++ list(STL list)访问元素的几种方法

    28. C++ STL list添加(插入)元素方法详解

    29. empty()和size()都可以判断容器是否为空,谁更好?

    30. C++ STL list删除元素详解

    31. C++ STL forward_list容器完全攻略

    第3章 STL关联式容器

    1. C++ STL关联式容器是什么?

    2. C++ STL pair用法详解

    3. C++ STL map容器详解

    4. C++ STL map容器迭代器用法详解

    5. C++ STL map获取键对应值的几种方法(超详细)

    6. C++ STL map insert()插入数据的4种方式

    7. C++ map容器operator[]和insert()效率对比(深度剖析)

    8. C++ STL map emplace()和emplace_hint()方法详解

    9. C++ map容器3种插入键值对的方法,谁的效率更高?

    10. C++ STL multimap容器用法完全攻略(超详细)

    11. C++ STL set容器完全攻略(超级详细)

    12. C++ STL set容器迭代器用法详解

    13. C++ STL set insert()方法详解

    14. C++ STL set emplace()和emplace_hint()方法详解

    15. C++ STL set删除数据:erase()和clear()方法

    16. C++ STL multiset容器详解

    17. 如何自定义C++ STL关联式容器的排序规则?

    18. 如何修改关联式容器中键值对的键?

    第4章 STL无序关联式容器

    1. C++ STL无序容器(哈希容器)是什么?

    2. C++ STL unordered_map容器用法详解

    3. 深度剖析C++无序容器的底层实现机制

    4. C++ unordered_map迭代器的用法

    5. C++ STL unordered_map获取元素的4种方法(超级详细)

    6. C++ unordered_map insert()用法精讲

    7. C++ unordered_map emplace()和emplace_hint()方法

    8. C++ STL unordered_map删除元素:erase()和clear()

    9. C++ STL unordered_multimap容器精讲

    10. C++ STL unordered_set容器完全攻略

    11. C++ STL unordered_multiset容器详解

    12. 如何自定义C++ STL无序容器的哈希函数和比较规则?(超级详细)

    13. C++ STL容器这么多,怎样选出最适合的?

    第5章 STL容器适配器

    1. 什么是适配器,C++ STL容器适配器详解

    2. C++ stack(STL stack)容器适配器用法详解

    3. stack容器适配器实现计算器(含实现代码)

    4. C++ STL queue容器适配器详解

    5. C++ queue容器适配器模拟超市结账环节

    6. C++ STL priority_queue容器适配器详解

    7. priority_queue容器适配器实现自定义排序

    8. 深度剖析priority_queue容器的底层实现

    第6章 STL迭代器适配器

    1. C++ STL迭代器适配器是什么?

    2. C++ STL 反向迭代器适配器(reverse_iterator)详解

    3. C++ STL插入迭代器适配器(insert_iterator)

    4. C++ STL流迭代器(istream_iterator和ostream_iterator)

    5. C++ STL流缓冲区迭代器(streambuf_iterator)

    6. C++ STL move_iterator移动迭代器用法详解

    7. C++ STL advance()函数用法详解

    8. C++ STL distance()函数用法详解(一看就懂)

    9. 如何将const_iterator转换为iterator类型迭代器?

    10. C++ STL begin()和end()函数用法

    11. C++ STL prev()和next()函数用法详解

    第7章 C++常用算法

    1. C++ sort()排序函数用法详解

    2. C++ stable_sort()用法详解

    3. C++ partial_sort()函数详解

    4. C++ nth_element()用法详解

    5. C++ is_sorted()函数完全攻略

    6. C++ STL标准库这么多排序函数,该如何选择?

    7. 自定义STL算法规则,应优先使用函数对象!

    8. C++ merge()和inplace_merge()函数用法(详解版)

    9. C++ find()函数用法详解(超级详细)

    10. 能用STL算法,绝不自己实现!

    11. STL算法和容器中的成员方法同名时,该如何选择?

    12. C++ find_if()和find_if_not()函数用法详解

    13. C++ find_end()函数详解

    14. C++ find_first_of()函数完全攻略

    15. C++ adjacent_find()函数用法详解

    16. C++ search()函数用法完全攻略

    17. C++ search_n()函数用法(超级详细)

    18. C++ partition()和stable_partition()函数详解

    19. C++ partition_copy()函数详解

    20. C++ partition_point()函数(详解版)

    21. C++ lower_bound()函数用法详解

    22. C++ upper_bound()函数(精讲版)

    23. C++ equel_range()函数详解

    24. C++ binary_search()函数详解

    25. C++(STL) all_of、any_of及none_of算法详解

    26. C++ equal(STL equal)比较算法详解

    27. C++ mismatch(STL mismatch)算法详解

    28. C++(STL) lexicographical_compare字符串排序算法详解

    29. C++ next_permutation(STL next_permutation)算法详解

    30. C++ prev_permutation(STL prev_permutation)算法详解

    31. C++ is_permutation(STL is_permutation)算法详解

    32. C++ copy_n(STL copy_n)算法详解

    33. C++ copy_if(STL copy_if)算法详解

    34. C++ copy_backward(STL copy_backward)算法详解

    35. C++ reverse_copy(STL reverse_copy)算法详解

    36. C++ unique(STL unique)算法详解

    37. C++ rotate(STL rotate)算法详解

    38. C++ rotate_copy(STL rotate_copy)算法详解

    39. C++ move(STL move)函数使用详解

    40. C++ swap_ranges(STL swap_ranges)函数使用详解

    41. C++ remove、remove_copy、remove_if和remove_copy_if函数使用详解

    42. C++ fill和fill_n函数用法详解

    43. C++(STL)generate和generate_n函数用法详解

    44. C++ transform(STL transform)函数用法详解

    45. C++ replace,replace_if和replace_copy函数用法详解

    Processed: 0.012, SQL: 9