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

网址  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类型元素的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函数用法详解

你可能感兴趣的:(c++)