![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL容器
STL容器
alone_yue
后端开发 算法 爱好健身打球游泳
展开
-
【STL】单调队列的实现(有很多重要应用!!代码可复用!!)
文章目录原创 2021-10-11 12:24:46 · 157 阅读 · 1 评论 -
【STL】对map或unordered_map的value排序(map有序的是key不是value!!)
文章目录1.思路2.代码1.思路先将map或unordered_map转化为pair类型的vector,然后使用cmp函数sort排序,就可以对value排序!2.代码#include <iostream>#include <vector>#include <map>#include <set>#include <stack>#include <queue>#include <unordered_set&g原创 2021-10-11 16:10:26 · 422 阅读 · 1 评论 -
【STL】 deque的用法详解
文章目录原创 2021-10-11 12:23:11 · 2556 阅读 · 1 评论 -
【STL】priority_queue优先队列的使用详解(重点:重载运算符和重写仿函数不改变小于号含义那就是大根堆!!)
文章目录1.priority_queue的定义2.原型定义3.优先级设置---基本数据类型3.优先级设置---自定义类型方法一:重载<运算符,queue定义不变,的优先级设置方法二:重写仿函数代码实现:1.priority_queue的定义1.区别:它和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队,并且没有front(),back()函数,只用top()访问队首元素2.相同:优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排原创 2021-10-11 11:37:09 · 8317 阅读 · 6 评论 -
【STL】set,multiset,unordered_set用法总结
文章目录1.set(红黑树有序去重)和multiset(红黑树有序不去重)的常用方法(1)构造函数和析构函数(2)大小,判空函数(3)增删函数(4)遍历函数(5)操作函数2.unordered_set(哈希表无序去重)的常用方法(1)构造函数(2)插入函数(3)查找函数(4)清除元素(5)统计函数1.set(红黑树有序去重)和multiset(红黑树有序不去重)的常用方法#include<set> //set 的头文件 set<int> s;原创 2021-10-08 15:48:46 · 450 阅读 · 1 评论 -
【STL】queue初始化
文章目录1.拷贝构造初始化1.拷贝构造初始化queue<TreeNode*> q;q.push(root);queue<TreeNode*> preQueue(q);原创 2021-10-04 17:02:21 · 788 阅读 · 0 评论 -
【STL】C++中的map与unordered_map区别与使用
文章目录区别优缺点使用1.map1.unordered_mapa.同一种插入方式,输出始终是倒序b.不同插入方式,输出就没规律了,无序,可能和内部哈希表的实现有关系吧区别map:map内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素,因此,对于map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行这样的操作,故红黑树的效率决定了map的效率。unordered_map:unordered_map内部实现了一个哈原创 2021-08-28 10:18:17 · 318 阅读 · 0 评论 -
【STL】vector 和 list 的插入效率对比在特殊情况下
这两段代码出自406. 根据身高重建队列,光是插入的时间复杂度好像都是平方复杂度O(n^2),但是由于是vector一开始没有指定容量,所以需要不断地扩容,这个效率是十分低下的。class Solution {public: static bool cmp(vector<int> a,vector<int> b){ //先按照身高排序,身高相同k从小到大 if(a[0]==b[0]) return a[1]<b[1]; .原创 2021-09-25 15:19:56 · 764 阅读 · 0 评论 -
【C++基础】数组初始化 vector初始化 string初始化及基本使用方式
转载:https://www.cnblogs.com/yyzyxy/p/10336480.html原创 2021-09-03 20:32:24 · 670 阅读 · 0 评论 -
【STL】map,multimap,unordered_map使用总结
文章目录1.map(红黑树有序不可重复)的使用2.multimap(红黑树有序可重复)的使用3.unordered_map(哈希表无序不可重复)的使用1.map(红黑树有序不可重复)的使用2.multimap(红黑树有序可重复)的使用begin()返回指向第一个元素的迭代器clear()删除所有元素count()返回一个元素出现的次数empty()如果multimap为空则返回真end()返回一个指向multimap末尾的迭代器equal_range()返回指向元素的key为指定值的迭代原创 2021-10-08 16:05:10 · 88 阅读 · 1 评论 -
【STL】vector记录总结
文章目录1.resize()1.resize()void resize (size_type n);void resize (size_type n, const value_type& val);作用是调整容器大小,使其包含n 个元素,底层是通过插入或删除元素来更改容器的实际内容。1.如果n小于当前容器size,则内容将减少到其前n 个元素,删除超出(并销毁它们)的元素。2.如果n大于当前容器大小,则通过在末尾插入尽可能多的元素来扩展内容,以达到n的大小。如果指定了val,则新元素原创 2021-09-05 08:37:40 · 62 阅读 · 0 评论 -
【STL】STL库容器vector at函数 和 [ ]运算符
介绍返回v指定位置n的元素。at函数比[]运算符更加安全, 因为它不会让你去访问到越界的元素,一旦越界将会在运行时中止程序并抛出一个异常std::out_of_range。使用用at函数,越界会有异常,但是用[],越界了正常输出#include <iostream>#include <string>#include <unordered_map>#include <vector>using namespace std;int ma原创 2021-08-28 15:51:00 · 716 阅读 · 0 评论 -
【STL】STL容器内的元素类型相关限制(指针,引用)
文章目录1.在写一道算法题的时候想声明一个元素类型为指针的引用的queue,发现报错了2.找了找资料发现STL元素类型有一些要求是引用无法满足的,所有不允许声明这样的容器1.在写一道算法题的时候想声明一个元素类型为指针的引用的queue,发现报错了queue<Node*&> queue;2.找了找资料发现STL元素类型有一些要求是引用无法满足的,所有不允许声明这样的容器原文链接...原创 2021-10-02 15:54:45 · 262 阅读 · 0 评论