#include<algorithm>
- sort():排序算法,使用快速排序算法,时间复杂度为nlogn,较快,所以较为常用
- next_permutation():可以生成给定序列的所有排列,在枚举所有可能性时使用,
- swap(a,b)//交换a,b
#include<map>
- multimap<int ,string,greater<int>>m;//multimap(可重复的map),greater<int>(降序)
- make_pair(key,value)//制造pair
#include<deque>
- deque<deque<int>>c(x,deque<int>(y));//二维deque数组定义
#include<sstream>
1.stringstream//特定分隔符
string s;
getline(cin, s);
deque<string> ops;
stringstream ss(s);//一个字符串,用空格作为分隔符
string copy;
while (getline(ss, copy, ' ')) {
ops.push_back(copy);
}
#include<string>
- str.substr(1, str.length()-1);//从第一个开始,截取length-1长度的字符串
- b.find(com)==string::npos//find函数
在C++ STL中,set是一种常用的关联容器,它提供了一些常用的操作,例如:
insert()
: 向set中插入一个元素。erase()
: 从set中删除一个元素。find()
: 在set中查找指定元素,如果找到返回指向该元素的迭代器,否则返回指向set末尾的迭代器。count()
: 统计在set中指定元素的个数,由于set中元素是唯一的,因此该函数返回值只能是0或1。size()
: 返回set中元素的个数。empty()
: 判断set是否为空,如果为空返回true,否则返回false。clear()
: 清空set中的所有元素。
使用set时,需要注意以下几点:
- set中的元素必须是可比较的,因此需要重载运算符"<"。
- set中的元素是按照某种规则进行排序的,默认情况下为升序排列。
- set中的元素是不可重复的,如果插入重复元素,set不会将其插入。