当前位置: 首页 > news >正文

STL难记忆却常用的用法集合(持续更新中)

1、set集合

(1)插入用insert()

(2)将原本无序的元素插入 set 集合,set 内部的元素自动递增排序,且去除了重复元素

适合想要去除重复,又想要默认升序的。

但是set的循环是要用迭代器的,输出数字时还要在前面加*,因为迭代器本身是地址

for(set<int>::iterator it = s.begin();it!=s.end();it++){cout<<*it;
}

2、map遍历

map也会根据键的顺序来自动排序从小到大,键的类别必须是可以比较大小的

map跟set遍历方法相似,都是map是映射,一对一的关系,所以稍微有点不同。

it->first指的是第一个值,也就是关键字,key

it->second植的是第二个值,也就是关键字对应的值

map<string,int>mp;
for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++){if(it->second==1){cout<<it->first<<" ";}}

3、map的删除,指定删除某个数

map<int,int>num;
auto it=number.find(num);
number.erase(it);

4、查找某个数是否在map里面,就是看存不存在

map<int,int>number;
auto it=number.find(num);
if(it!=number.end()){//如果不为最后一个指针+1//那么就是存在的//存在就删除number.erase(it);
}

4、给vector排序

sort(v.begin(),v.end());

5、栈入栈

stack<int>s;
s.push(1);

5、删除栈顶元素

s.pop();

6、取栈顶元素

s.top();

7、队列入队

queue<int>q;
q.push(3);

8、队列出列,删除队首元素

queue<int>q;
q.pop();

9、双端队列

入队

deque<int>dq;
dq.push_back(x);
dq.push_front(x);

10、删除队列队头队尾

dq.pop_back();
dq.pop_front();

11、删除队列的某一个元素

dq.erase(iterator it);
//删除某个迭代器

12、清空队列

dq.clear();

13、优先队列

优先队列,默认大根堆,就是每次从中取到的都是最大的元素

priority_queue<int> pq; // 默认大根堆, 即每次取出的元素是队列中的最大值
priority_queue<int, vector<int>, greater<int>> q; // 小根堆, 每次取出的元素是队列中的最小值
q.top();
q.push();	
q.pop();
q.size();

(持续更新中)

这里是红糖,记录我的小白成长史。

如果觉得对你有帮助的话可以点个赞,点个关注,创作不易,请多多支持。

我们下篇文章见!!

相关文章:

  • 【测试开发】函数进阶-纯函数
  • 欧盟RED网络安全标准EN 18031-2的要求
  • ES集群的分布式存储
  • YOLOv1 技术详解:NMS(非极大值抑制)的工作原理与实现细节
  • Python+TensorFlow:30分钟快速入门AI开发
  • LaViDa:基于扩散模型的多模态大模型,速度超越next-token范式
  • 魔百和网络机顶盒CM211-1硬件解析
  • linux驱动开发(6)-内核虚拟空间管理
  • IGBT开通时间、关断时间、死区时间
  • java复习 09
  • UE5场景漫游——鼠标控制旋转与第一人称漫游
  • 5.4.1树的存储结构
  • 获取Unity节点路径
  • 前端八股文 - JavaScript 篇
  • 【Create my OS】从零编写一个操作系统
  • mesh转solid freecad
  • docker compose的变量使用说明
  • Spring常见面试题
  • PCB比对--CAM Brd文件比对
  • 中文分词总结:历程、问题、发展
  • php 开源的企业网站/查网站流量的网址
  • 宝安做网站哪家好/app推广营销
  • 红河县网站建设/sem外包
  • 做网站 请示/网站seo搜索引擎优化怎么做
  • 怎么做免费网站推/百度竞价推广常用到的工具
  • dreamweaver可以做网站/灰色词排名代做