1、algorithm
1.1 sort函数 :
三个参数:待排序数组的起始地址、结束排序的数组地址(最后一位要排序的地址)、cmp函数的返回值。
cmp函数例子
int cmp(int a,int b){
return a>b;
}//实现从大到小的排列顺序
1.2 max()、min()、abs()、fbs()
max、min中的参数可以是整形、浮点型;
abs()只是整形,若需要浮点型的绝对值,使用math头文件下的fabs();
1.3 fill()
2、map
2.1 初始化
map<int,string> mp;
//数组方式初始化数据
mp[1] = "abcd";
2.2 查找键值
//find(key)
map<int,string>::iterator it = mp.find(1);
if(it != mp.end())
{
printf("那么找到了");
}
2.3 删除
mp.erase(key);
mp.erase(it);
3、vector
vector<int> v(n,val);
//初始化为大小为n的数组,初始值为val
v.push_back(val);
//尾部添加元素,O(1)
v.pop_back();
//尾部删除元素,O(1);
v.erase(it);
v.erase(v.begin().v.end());
//参数都是迭代器
4、set
4.1 只能通过迭代器访问
set<int> st;
st.insert(val);
//插入元素,自动去重、递增排序,O(logN)
st.find(val);
//返回迭代器,O(logN)
st.erase(val);
st.erase(it);
//第一种:O(logN) 第二种:O(1)
5、string
5.1> 删除
string str;
str.erase(it);
str.erase(first,last);
//first、last为迭代器,删除区间[first,last)
str.erase(pos,length);
//删除以pos为起始位置,长度为length的字符串
5.2> 截取子串
str.substr(pos,len);
//截取以pos为起始位置,长度为len的长字符串
5.3> 查找子串
str.find(str2);
//返回子串str2第一次出现的位置
str.find(str2,pos);
//从位置pos开始查找,返回子串str2第一次出现的位置
str.replace(pos,len,str2);