DayNineteen STL的笔记~

VECTOR

vector本身可以作为数组使用,而且一些元素个数不确定的场合可以很好地节省空间。

SET

set的主要作用是自动去重并按升序排序,因此碰到需要去重但是却不方便直接开数组的情况,可以尝试用set解决。
另外 C++中增加了unordered_set,以散列代替set内部的红黑树实现,使其可以用来处理只去重但不排序的需求,速度比set要快得多。

STRING

只能使用CIN COUT 输入输出

MAP

他可以将任何基本类型映射到任何基本类型,可以建立string型到int型的映射。
map会以键从小到大的顺序自动排序。这是由于map内部是使用红黑树进行实现的。
需要建立字符串与整数之间映射的题目,使用map可以减少代码量
判断大整数或者其他类型数据是否存在的题目,可以把map当bool数组使用
另外 C++中增加了unordered_map,以散列代替map内部的红黑树实现,使其可以用来处理只去重但不排序的需求,速度比map要快得多。

QUEUE

适用于广度优先搜索的实现

STACK

可以用来模拟实现递归,防止内存超出。

PAIR

可以将pair看作一个内部有两个元素的结构体,而且这两个元素的类型可以自己指定。
pair比较大小时,会先比较first,如果first相同,再比较second。

头文件algorithm

max() 返回最大值
min() 返回最小值
abs() 取绝对值
swap() 交换元素
reverse()翻转元素
fill() 把区间内某一段赋值
sort() 排序可以编写一个cmp函数,用来指示按什么顺序排
lower_bound(first, second, val) 寻找在数组或容器的(first,last)范围第一个值大于等于val的元素的位置,如果是数组,返回该位置的指针,如果是容器,返回该位置的迭代器。
upper_bound(first, second, val)寻找在数组或容器的(first, second)范围内第一个大于val的元素的位置,如果是数组,返回该位置的指针,如果是容器,返回该位置的迭代器。

今天的其他笔记

想把一个整型数组,按照字典序排列 可以使用sort函数,自己写一个特判函数,代码如下

static bool cmp(int x, int y) {
string sx = to_string(x), sy = to_string(y);
return sx + sy > sy + sx;//例如 20 2  20+2 = 202 < 2+20 = 220
}

是用sort函数对pair排序时,默认按照first进行排序,如果first相同的话,则按照second排序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值