STL容器

STL

vector

 #include<vector>

动态数组 内存连续

例题HDU4841

stack 栈

 #include<stack>

例子:泡腾片先进盒子后出来

  • 先进后出

stacks;定义

s.push(item);添加到栈顶

s.top();返回顶部元素 不删除

s.pop();删除顶部元素 不会返回
出栈时先top得到栈顶元素再pop删除栈顶元素

s.size();

s.empty();检查是否为空 空返回True 否则返回false

例题HDU1062

queue队列

 #include<queue>

例子:先排队先办事

  • 先进先出

queueq;定义

q.push(item);添加

q.front();返回首元素 不删除

q.pop();删除队首元素

q.back();返回队尾元素

q.size();返回元素个数

q.empty();检查是否为空 若为空 返回true

例题HDU1702

优先队列 priority_queue

优先级 二叉堆

链表 list

双向链表 通过指针访问

vector 插入删除少 访问频繁

list 插入删除频繁 访问少

例题HDU1276

set 集合

通过二叉搜索树实现

集合中的每个元素只出现一次并且时排好序的

O(log2n)

setA;定义

A.insert(item);添加

A.erase(item);删除item元素

A.clear();清空A

A.empty();判断A是否为空

A.size();返回A的元素个数

A.find(k);返回一个迭代器指向键值k

A.lower_bound(k);返回一个迭代器指向键值不小于k的第一个元素

A.upper_bound();返回一个迭代器指向键值大于k的第一个元素

map

查找 插入 访问

通过平衡二叉搜索树实现

O(log2n)查找

操作

例题HDU2648

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值