STL
详细介绍了STL的各种容器以及算法,文章中也有很多小例子,大家可以一起学习
我有两颗糖
你不妨大胆一些,爱一个人,攀一座山,追一个梦。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STL学习笔记7 ——STL算法(一)
文章目录一、排序函数1. sort() 函数2. 使用 sort() 函数3. 自定义数据类型5. is_sorted() 函数二、C++ merge()函数三、find查找函数1. find() 函数2. find_if() 函数一、排序函数函数功能sort (first, last, comp)对容器或普通数组中 [first, last) 范围内的元素进行排序,默认进行升序排序stable_sort (first, last, comp)和 sort() 函数功能相似原创 2020-10-22 14:16:43 · 548 阅读 · 0 评论 -
STL学习笔记6 ——浅谈迭代器
文章目录一、迭代器二、迭代器的使用三、迭代器辅助函数一、迭代器常用的迭代器按功能强弱分为输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器 5 种。前向迭代器(forward iterator)假设 p 是一个前向迭代器,则 p 支持 ++p,p++,*p 操作,还可以被复制或赋值,可以用 == 和 != 运算符进行比较。此外,两个正向迭代器可以互相赋值。支持前向迭代器的容器有:forward_list / unordered_map / unordered_multimap / u原创 2020-10-18 19:56:28 · 756 阅读 · 0 评论 -
STL学习笔记目录
STL学习笔记系列内容STL学习笔记1 —— 模板函数和模板类STL学习笔记2 —— Linear ContainersSTL学习笔记3 —— Association ContainersSTL学习笔记4 —— Unordered ContainersSTL学习笔记5 —— Container Adaptor参考内容学习C++标准模版库(STL)STL标准模板库教程...原创 2020-10-18 19:31:16 · 210 阅读 · 0 评论 -
STL学习笔记5 —— Container Adaptor
文章目录一、容器适配器二、stack容器1. stack的特点与使用2. stack的成员函数一、容器适配器接下来介绍 3 种容器适配器,分别是 stack、queue、priority_queue:stack:是一个封装了 deque 容器的适配器类模板,默认实现的是一个后入先出(Last-In-First-Out,LIFO)的压入栈。stack 模板定义在头文件 stack 中。queue:是一个封装了 deque 容器的适配器类模板,默认实现的是一个先入先出(First-In-First-O原创 2020-10-18 13:31:26 · 16181 阅读 · 4 评论 -
STL学习笔记4 —— Unordered Containers
文章目录一、Unordered Containers1. 介绍2. 分类一、Unordered Containers1. 介绍 和关联式容器一样,无序容器也使用键值对(pair 类型)的方式存储数据,和关联式容器相比,无序容器具有以下 2 个 特点:无序容器内部存储的键值对是无序的,各键值对的存储位置取决于该键值对中的键和关联式容器相比,无序容器擅长通过指定键查找对应的值(平均时间复杂度为 O(1));但对于使用迭代器遍历容器中存储的元素,无序容器的执行效率则不如关联式容器。2. 分类原创 2020-10-17 19:49:20 · 450 阅读 · 0 评论 -
STL学习笔记3 —— Association Containers
文章目录一、set容器1. 特点2. 使用二、multiset容器1. 特点2. 使用三、map容器1. 特点2. 使用四、multimap容器一、set容器1. 特点不再以键值对的方式存储数据,因为 set 容器专门用于存储键和值相等的键值对,因此该容器中真正存储的是各个键值对的值(value)set 容器在存储数据时,会根据各元素值的大小对存储的元素进行排序(默认做升序排序)存储到 set 容器中的元素,虽然其类型没有明确用 const 修饰,但正常情况下它们的值是无法被修改的(只能用era原创 2020-10-16 20:34:26 · 353 阅读 · 0 评论 -
STL学习笔记1 —— 模板函数和模板类
文章目录1. 模板函数的定义模板类的定义3. 使用举例1. 模板函数的定义 模板函数的声明需要使用 template <typename T>:template <typename T>T square(T x){ return x*x;}模板类的定义template <typename T>class myVector{ private: T array[1000]; int size; public: myVector():si原创 2020-10-16 11:08:37 · 337 阅读 · 0 评论 -
STL学习笔记2 —— Linear Containers
文章目录一. vector容器1. 特点2. 迭代器3. 举例二. deque容器1. 特点2. 使用三. list 容器1. 特点2. 使用一. vector容器1. 特点尾部插入:O(1)头部和中部insert/remove 慢:O(n)查找慢2. 迭代器使用方法如下:vector<int> values{1, 2, 3, 4, 5};auto first = values.begin();auto end = values.end();while (firs原创 2020-10-16 10:19:37 · 494 阅读 · 0 评论
分享