STL在acm中的应用

本文介绍了STL中的stack、queue、priority_queue、pair、vector和set在ACM竞赛中的应用。stack和queue作为基础数据结构,提供先进后出和先进先出的操作。priority_queue用于优化算法如Dijkstra。pair用于存储二元组,vector作为动态数组,set则提供唯一元素的快速检索。这些工具在解决竞赛问题时能极大提升代码效率。
摘要由CSDN通过智能技术生成

STL全称是Standard Template Library,即标准模板库,里面有许多容器,用好STL能极大的优化代码

1.stack

stack(堆栈)是一个容器,它实现了一个先进后出的数据结构

使用该容器需要#include<stack>头文件

定义一个stack

stack<node> ss;

stack<int> ss;

stack的基本操作

1.ss.size()                返回栈里元素个数

2.ss.empty()             返回栈是否为空(空返回true,反之false)

3.ss.push()               压入一个元素进栈

4.ss.pop()                 从栈弹出一个元素

5.ss.top()                  返回栈顶

例题:Game with string(栈)

2.queue

queue(队列)实现了一个先进先出的数据结构

使用该容器需要#include<queue>头文件

定义一个queue

queue<node> que;

queue<int> que;

queue的基本操作:

1.que.size()               返回队列元素数量

2.que.empty()            返回队列是否为空(空返回true,反之false)

3.que.push()              加入队列

4.que.pop()           

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值