常用STL的常见用法
//头文件 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include<iterator> #include<sstream> #include<string> #include<queue> #include<vector> #include<map> #include<set> using namespace std; //string常用 void String() { string str; str.substr(下标, 长度);//复制 str.resize(长度, 填充);//重新设置大小 str.empty();//检查是否为空,空则返回true str.size();//获取字符串大小 str.find(起点下标,目标字符或字符串);//返回第一个下标,没有找到则返回string::npos str.insert(位置, 字符或字符串);//插入字符或字符串 } //map常用 void Map_() { map<typedef, typedef>Map; Map.erase(key);//删除key的元素 Map.count(元素);//如果有该元素则返回1,没有则返回0,没有则返回map.end() Map.find(元素);//返回该元素下标,没有则返回map.end() iter->first;//代表key iter->second;//代表元素 } //vector常用 void Vector_() { vector<int>num; num.push_back();//添加到尾部 num.erase(num.begin() + i, num.end() - j);//删除区域[i,j-1]; num.insert(num.begin() + 2, 1);//在迭代器中第二个元素前插入新元素 num.clear();//清空 } //queue常用 void queue_() { queue<int>num; num.push();//添加到队尾 num.pop();//弹出队头 num.front();//返回队头元素 num.back();//返回队尾元素 num.empty();////检查是否为空,空则返回true } //Set常用 void Set() { set<int>num; num.upper_bound();//返回大于某个值元素的迭代器 num.lower_bound();// 返回指向大于(或等于)某值的第一个元素的迭代器 num.insert();// 在集合中插入元素 num.find();// 返回一个指向被查找到元素的迭代器 } void Daily() { abs();//整数求绝对值 fabs();//浮点数求绝对值 reverse(num.begin(), num.end());//反转字符串或者数组 vector<int>::iterator iter = num.begin();//迭代器 //字符串转换和串流的反复利用 int num; string str; stringstream ss; ss << str; ss >> num; ss.str(""); ss.clear(); }