参考博客:(17条消息) C++ STL常用函数总结__dingzhen的博客-CSDN博客_c++ stl常用函数
1.倒置,去重
reverse(起始地址, 末尾地址 ); unique(起始地址, 末尾地址, fun); //不断的将后面不重复的元素覆盖前面重复的元素,最后返回最后一个不重复的元素的地址。 vector<int> vec = {1,1,2,3,3,4,4,5}; auto pos = unique(vec.begin(), vec.end()); vec.erase(pos, vec.end()); //真正去除重复元素
2.二分查找 字符串查找
lower_bound(起始地址, 末尾地址, target)://大于等于target目标值的位置 upper_bound(起始地址, 末尾地址, target)://大于target目标值的位置 bool exit = binary_search(起始地址, 末尾地址, target); //查找target是否存在于数组或vector中,找到返回true,否则返回false int x = s1.find(s2); //在s1字符串中查找s2,查找到返回位置,查找失败返回s1.npos,也可以看成一个数字,是4294967295
3.set集合
set.find(a)://找不到返回set.end() set.count(a):
4.map映射
map.find();//不存在返回map.end()
5.字符串 整型 互相转换
int a = stoi(s); stringstream ss;//浮点型 和 小数点组成的字符串 互相转化 string s="123.4"; double a; ss<<s; ss>>a;//则a=123.4 to_string()//可将整形转化为字符串,不推荐将浮点型转化为字符串
6.vector
vec.begin(),vec.end() //返回vector的首、尾迭代器 vec.front(),vec.back() //返回vector的首、尾元素 vec.push_back() vec.size() vec.pop_back() vec.empty() vec.clear()
7.queue
queue <typename > q; queue <pair<int ,int > > q; queue <node > q; q.front(),q.back() //返回queue的首、尾元素 q.push() q.size() q.pop() q.empty()
8.stack
st.top() st.push() st.size() st.pop() st.empty()
9.string
priority_queue<int> q; priority_queue<string> q; priority_queue<pair<int,int> > q; priority_queue <int ,vector<int > ,greater<int > > q;
10.deque
支持随机访问,即可以像数组下标一样取出其中的一个元素。
其他:
#include<bits/stdc++.h> using namespace std; int main(){ string s = "124"; int a = stoi(s); s = "123.4"; double x; stringstream ss; ss << s; ss >> x; cout << a << endl; cout << x << endl; return 0; }一个实验