算法-stl

s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
vector:变长数组, 倍增的思想
size()
empty()
clear()
front()/back()
push_back()/pop_back()
begin() / end()
[] 支持比较运算

pair<int, int>
first 第一个元素
second 第二个元素
支持比较运算,以 first 为第一关键字, 以 second 为第二关键字()

string:字符串,substr(),c_str()
size()
empty()
clear()

queue, 队列, push(),front(), pop()
push() 队尾插入一个元素
front() 返回头元素
back() 返回队尾元素
pop() 弹出队头元素

priority_queue, 优先队列, 默认是大根堆
push() 插入一个元素
top() 返回堆顶元素
pop() 弹出堆顶元素

stack(), 栈
push() 插入一个元素
top() 返回堆顶元素
pop() 弹出堆顶元素

deque, 双端队列
size()
empty()
clear()
front()/back()
push_back()/pop_back()
push_front()/pop_front()
begin() / end()

set, map, multiset, multimap, 基于平衡二叉树(红黑树), 动态维护有序序列
size()
empty()
clear()
begin()/ end() ++, -- 返回前驱后继

set/multiset
insert()
find()
count()
erase()
(1) 输入是一个数x,删除所有x O(k + logn)
(2) 输入是一个迭代器 删除这个迭代器
lower_bound()/upper_bound()
返回大于等于x最小的数 返回大于x最小的数 不存在返回



unordered_set, unordered_map, unordered_multiset,unordered_multimap, 哈希表
bitset, 压位