STL教程:C++ STL快速入门(非常详细)
STL 是“Standard Template Library”的缩写,中文译为“标准模板库”。STL 是 C++ 标准库的一部分,不用单独安装。
C++ 对模板(Template)支持得很好,STL 就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离。例如,vector 的底层为顺序表(数组),list 的底层为双向链表,deque 的底层为循环队列,set 的底层为红黑树,hash_set 的底层为哈希表。
更多关于 STL 的介绍请猛击:STL是什么
这套 C++ STL 入门教程非常详细,旨在让您快速学会标准模板库的使用。读者需要具备 C++ 基础,并了解C++模板的用法。
C++ 对模板(Template)支持得很好,STL 就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离。例如,vector 的底层为顺序表(数组),list 的底层为双向链表,deque 的底层为循环队列,set 的底层为红黑树,hash_set 的底层为哈希表。
更多关于 STL 的介绍请猛击:STL是什么
这套 C++ STL 入门教程非常详细,旨在让您快速学会标准模板库的使用。读者需要具备 C++ 基础,并了解C++模板的用法。
- 第1章 string类
- 1.C++ string
- 2.auto_ptr智能指针
- 3.basic_string
- 4.string成员函数
- 5.string构造函数和析构函数
- 6.C++获取字符串长度
- 7.C++获取字符串元素
- 8.C++字符串比较
- 9.C++字符串修改和替换
- 10.C++字符串输入输出
- 11.C++字符串查找
- 12.C++ string支持迭代器
- 13.C++ string支持配置器
- 第2章 序列容器
- 1.序列式容器
- 2.C++ array
- 3.array元素的获取
- 4.array迭代器
- 5.array元素的比较
- 6.C++ vector
- 7.vector的容量和大小
- 8.vector获取(访问)元素
- 9.vector迭代器及用法
- 10.vector添加(增加)元素
- 11.vector插入元素
- 12.vector删除元素
- 13.deque的使用、创建及初始化
- 14.deque获取元素
- 15.deque添加和删除元素
- 16.deque修改元素
- 17.list的使用、创建和初始化
- 18.list增加和插入元素
- 19.list删除元素
- 20.list元素的排序和合并
- 21.list访问(获取)元素
- 22.forward_list用法
- 23.自定义迭代器
- 第4章 map容器
- 1.C++ map
- 2.C++ map的创建
- 3.C++ map插入数据
- 4.C++ map构造元素
- 5.C++ map获取元素
- 6.C++ map删除元素
- 7.C++ pair
- 8.C++ tuple
- 9.C++ multimap
- 10.C++ 自定义比较函数
- 11.C++ hash
- 12.C++ unordered_map
- 13.C++ unordered_map初始化
- 14.C++ unordered_map插入元素
- 15.C++ unordered_map获取元素
- 16.C++ unordered_map删除元素
- 17.C++ unordered_multimap
- 第5章 set容器
- 1.C++ set
- 2.C++ set初始化
- 3.C++ set添加、删除和访问元素
- 4.C++ set用法
- 5.C++ set迭代器
- 6.C++ set保存指针
- 7.C++ multiset
- 8.C++ unordered_set
- 9.C++ unordered_set插入元素
- 10.C++ unordered_set查找元素
- 11.C++ unordered_set删除元素
- 12.C++ set_union
- 13.C++ set_intersection
- 14.c++ set_difference
- 15.C++ includes
- 第6章 C++常用算法
- 1.C++ sort
- 2.C++ stable_sort
- 3.C++ partial_sort
- 4.C++ nth_element
- 5.C++ is_sorted
- 6.C++ merge和inplace_merge
- 7.C++ find
- 8.C++ find_if
- 9.C++ find_if_not
- 10.C++ find_first_of
- 11.C++ adjacent_find
- 12.C++ find_end
- 13.C++ search
- 14.C++ search_n
- 15.C++ partition
- 16.C++ partition_copy
- 17.C++ partition_point
- 18.C++ binary_search
- 19.C++ lower_bound
- 20.C++ upper_bound
- 21.C++ equel_range
- 22.C++ all_of、any_of及none_of
- 23.C++ equal
- 24.C++ mismatch
- 25.C++ lexicographical_compare
- 26.C++ next_permutation
- 27.C++ prev_permutation
- 28.C++ is_permutation
- 29.C++ copy_n
- 30.C++ copy_if
- 31.C++ copy_backward
- 32.C++ reverse_copy
- 33.C++ unique
- 34.C++ rotate
- 35.C++ rotate_copy
- 36.C++ move
- 37.C++ swap_ranges
- 38.C++ remove函数
- 39.C++ fill和fill_n
- 40.C++ generate和generate_n
- 41.C++ transform
- 42.C++ replace
- 第7章 随机数
- 1.C++随机数
- 2.概率、分布和熵
- 3.C++ 随机数生成
- 4.C++随机数生成器
- 5.C++ uniform_int_distribution
- 6.C++ uniform_real_distribution
- 7.C++ generate_canonical
- 8.C++ normal_distribution
- 9.C++ lognormal_distribution
- 10.C++ discrete_distribution
- 11.piecewise_constant_distribution
- 12.C++ piecewise_linear_distribution
- 13.C++ binomial_distribution
- 14.C++ 随机数生成器和随机数引擎
- 15.C++线性同余法
- 16.C++梅森旋转算法
- 17.C++带进位的线性同余法
- 第8章 流迭代器
- 1.C++输入流迭代器
- 2.C++输出流迭代器
- 3.C++重载插入运算符和提取运算符
- 4.流迭代器实现文件操作
- 5.流缓冲区迭代器
- 6.string流