1.vector(向量)
长度可动态调整的数组,时间复杂度稍慢。

基础函数:

1.vector a(n,m); 构造函数,n为初始长度,m为初始值。

2.a[n] 访问下标为n的项。

3.a.push_back(n) 在a的最后加上值为n的1项。

4.for(auto i : a) 遍历a.

5.vector a (n,vector(m)) 建立1个n*m的2维向量。

2.priority_queue(优先队列)
大根堆

基础函数:

1.priority_queue q;构造函数(大根堆)

2.priority_queue <int, vector, greater > q;构造函数(小根堆)

3.q.pop() 弹出

4.q.push() 压入

5.bool operator<(const Node &o){ //排序规则 } 重载小于号。

3.set(集合)
顾名思义,集合。(实现方式是平衡树)(集合没有重复元素)

基础函数:

1.set s; 构造函数

2.s.insert(m);O(log n) 插入m.

3.s.erase(n) 删除n;

4.s.upper_bound(n) 返回第一个大于n的数的地址(准确来说是迭代器)

5.4.s.lowwer_bound(n) 返回第一个大于等于n的数的地址(准确来说是迭代器)

6.s.end() 返回尾地址

posted on 2024-03-21 15:21  Grylls_117  阅读(16)  评论(0编辑  收藏  举报