STL
文章平均质量分 50
我是不会赢的dhdhdvdg
这个作者很懒,什么都没留下…
展开
-
STL容器——stack用法笔记
栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator),不像是set 或者map 提供迭代器iterator来遍历所有元素。栈的内部结构,栈的底层实现可以是vector,deque,list 都是可以的, 主要就是数组和链表的底层实现。所以STL中栈往往不被归类为容器,而被归类为container adapter(容器适配器)。那么问题来了,STL 中栈是用什么容器实现的?原创 2023-07-31 15:26:08 · 47 阅读 · 1 评论 -
STL容器——string用法笔记
append 可以在字符串的末尾添加字符和字符串, push_back 只适用于添加单个字符。str.at(i)与str[i]的含义一样,返回arr中第i个元素,唯一的区别在于at()函数比[]at(i),i就是想要获取的字符的下标,函数返回值为指定的字符。substr(pos,len):返回从pos号位开始,长度为len的子串,时间复杂度O(len)operator+= 添加到字符串(公共成员函数)(3)push_back() 追加字符到字符串。erase 从字符串中删除字符(公共成员函数)原创 2023-07-24 10:42:58 · 172 阅读 · 0 评论 -
STL容器——pair()用法笔记
当想要将两个元素绑在一起作为一个合成元素,又不想因此定义结构体时,使用pair可以很方便地作为一个替代品。pair实际上可以看作一个内部有两个元素的结构体,且这两个元素的类型可以指定。pair()两个参数:分别对应first和second的数据类型,可以是任意基本数据类型或容器定义并初始化:使用pair对map键值进行插入原创 2023-07-10 22:46:00 · 138 阅读 · 1 评论 -
STL容器——vector用法笔记
添加#include;译为变长数组,可用来以邻接表的方式存储图(不需要使用指针)。原创 2023-07-01 15:51:36 · 59 阅读 · 0 评论 -
STL容器——set用法笔记
arrayname[0]~arrayname[size-1]每一个都是一个set容器。unordered_set:以散列代替set内部红黑树,处理只去重不排序的需求,速度比set快得多。find(value)返回set中对应值为value的迭代器,时间复杂度O(logn)set可用于去除重复元素,或保留元素本身而不考虑它的个数。只能通过迭代器iterator访问。加上#include时间复杂度:O(logn)原创 2023-06-24 19:54:27 · 141 阅读 · 1 评论 -
STL容器——map常用用法笔记
typename1: 键key的类型;typename2: 值value的类型;原创 2023-06-24 19:29:53 · 302 阅读 · 1 评论 -
STL容器——priority_queue用法笔记
默认容器为vector,默认比较方式为大顶堆 less<type>自定义方式:Type是要存放的数据类型;Container是实现底层堆的容器,必须是数组实现的容器,如vector、deque;Functional是比较方式/比较函数/优先级//paira.push(d);a.push(c);a.push(b);while (!//输出结果为:2 51 31 2。原创 2023-08-01 16:17:35 · 60 阅读 · 1 评论 -
lower_bound()和upper_bound()函数
lower_bound()和upper_bound()函数都是algorithm头文件下的函数,需要。val的元素的位置。如果是数组,则返回该位置的指针;如果是容器,则返回该位置的迭代器。用来寻找在数组或容器的[first, last)范围内第一个值。用来寻找在数组或容器的[first,last)范围内第一个值。如果是数组,则返回该位置的。如果是容器,则返回该位置的。原创 2023-06-29 19:05:39 · 110 阅读 · 1 评论