![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
STL常用容器用法
STL常用容器
Mirevas
这个作者很懒,什么都没留下…
展开
-
十、sort函数
sort函数头文件#include<algorithm>using namespace std;sort(首元素地址,尾元素的下一个地址, 比较函数)至少要有前两个参数,如果不写比较函数,则默认对前面给出的区间进行递增排序。sort的第三个可选参数是compare函数,简称cmp函数,制定排序规则来建立可比性cmp函数对基本类型数组的排序若比较函数不填,则默认按照从小到大顺序排序实现从大到小排序,需自定义cmp函数#include<algorith原创 2021-08-07 10:09:14 · 58 阅读 · 0 评论 -
九、algorithm常用函数
一、简介头文件#include<algorithm>using namespace std;二、基础常用函数max(x, y):返回x和y中的最大值,必需有两个参数min(x, y):返回x和y中的最小者,必需有两个参数abs(x):返回x的绝对值,x为整数,浮点数类型使用math头文件下的fabs()swap(x, y):交换x和y的值reverse(it, it2):将数组指针在[it, it2)或容器的迭代器在该范围内的元素进行反转int a[10] = {1原创 2021-08-07 10:07:31 · 222 阅读 · 0 评论 -
八、STL之pair常见用法
一、pair简介pair适用于当想要将两个元素绑定在一起作为一个合成元素、又不想要因此定义结构体时。pair可看作一个内部有两个元素的结构体,且这两个元素的类型是可以指定的。struct pair{ typeName1 first; typeName2 second;};常见用途用来代替二元结构体及其构造函数,节省编码时间作为map的键值对来进行插入二、pair的定义头文件#include<utility>using namespace std;原创 2021-08-06 00:00:28 · 204 阅读 · 0 评论 -
七、STL之stack常见用法
一、stack简介栈是一个后进先出的容器常见用途模拟递归,防止程序因为对栈的内存限制而导致运行出错二、栈的定义头文件#include<stack>using namespace std;定义stack<int> name;三、stack容器内元素的访问top():访问栈顶元素四、stack常用函数push():push(x)将x入栈,时间复杂度O(1)top():获得栈顶元素,时间复杂度O(1)pop():弹出栈顶元素,时间复原创 2021-08-05 23:40:18 · 193 阅读 · 0 评论 -
六、STL之priority_queue常见用法
一、priority_queue简介priority_queue称为优先队列,底层采用堆实现。优先队列中队首元素为优先级最大的元素二、priority_queue定义头文件#include<queue>using namespace std;定义priority_queue<typename> name;三、priority_queue内元素的访问top():访问队首元素,即堆顶元素,也就是优先级最高的元素四、priority_queue常用原创 2021-08-05 20:48:14 · 116 阅读 · 0 评论 -
五、STL之queue常见用法
一、queue简介queue为队列,在STL中主要实现了一个先进先出的容器常见用途: 广度优先搜索STL中还有两种容器和队列有关,分别是双端队列deque和优先队列priority_queue。前者是首位皆可插入和删除的队列,后者是使用堆实现的默认将当前队列最大元素置于队首的容器。二、queue的定义头文件#include<queue>using namespace std;定义queue<typename> name;三、queue容器内元素的访原创 2021-08-05 20:10:56 · 103 阅读 · 0 评论 -
四、STL之map容器常见用法
一、map简介map译为映射,可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器)map的键和值是唯一的头文件#include<map>using namespace std;常见用途需要建立字符(或字符串)与整数之间映射的题目,使用map可以减少代码量判断大整数或者其它类型数据是否存在的题目,可以把map当作bool数组用字符串和字符串的映射二、map定义map需要确定映射前类型(键key)和映射后类型(值value),所以需要在&l原创 2021-08-05 19:40:51 · 153 阅读 · 0 评论 -
三、STL之string常见用法
一、string简介头文件#include<string>using namespace std;二、string的定义定义string和基本数据类型相同,只需要在string后面跟上变量名可以直接通过给string类型变量赋值的方式实现初始化string str;string str = "abc";三、string中内容的访问通过下标访问,可以像字符数组那样去访问string通过迭代器访问,string和vector一样,支持直接对迭代器进行加减某个数字,原创 2021-08-05 17:19:37 · 187 阅读 · 0 评论 -
二、STL之set常见用法
一、set简介set译为集合,是一个内部自动有序且不含重复元素的容器。头文件#include <set>using namespace std;常见用途主要作用是自动去重并按升序排序,碰到要去重但不方便直接开数组的情况可以使用set解决。二、set的定义定义set<typename> name;set<node> name;//node为结构体set<int> a[100];//其中每一个元素都是一个set容器原创 2021-08-04 20:08:21 · 170 阅读 · 0 评论 -
一、STL之vector常见用法
一、vector简介头文件#include <vector>using namespace std;常见用途* 储存数据。+ vector本身可以作为数组使用,并且在一些元素个数不确定的场合可以很好的节省空间+ 一些场合需要根据一些条件把部分数据输出在同一行,数据中间用空格隔开。由于输出数据的个数是不确定的,为了方便处理最后一个满足条件的数据而不输出额外的空格,可以先用vector记录所有需要处理的数据,如何一次性输出。* 用邻接表存储图二、vector定义单独定原创 2021-08-04 17:30:12 · 106 阅读 · 0 评论