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
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() 返回尾地址