C++·STL·容器适配器

本文介绍了STL中的容器如map和unordered_map的使用,强调了在复用容器时调用clear()的重要性,以避免内存泄露。同时对比了unordered_map与map在速度和空间占用上的差异。此外,还详细讲解了stack、queue和priority_queue三种数据结构,包括它们的操作方法和应用场景。stack常用于后进先出的场景,而queue遵循先进先出原则,priority_queue则提供了一个默认升序的优先级处理方式。

stl的容器如多次复用记得调用clear。

如有多组输入,你又不想每次开一个map,就要每次clear一下,不然会mle。

unordered_map比map快,占的空间大。

stack

栈,后进先出。想象成一个桶就行了。

stack<int> stk; //int型栈,用deque实现。
stack<string, vector<string>> str_stk; //string型栈,用vector实现。
stack<string, vector<string>> str_stk(svec); //string型栈,用vector实现,并且用向量svec初始化。

stack上可以进行以下操作:
• push: 插入元素
• pop: 弹出元素
• top: 返回栈顶元素的引用

queue

队列,先进先出。想象成存钱罐,上面塞钱,下面的口取钱。

push发生在队尾, pop, top发生在队头, 先进先出

priority_queue

优先队列,内部有序。默认情况下,大的在队头。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值