1. Compruebe si hay alguna duplicación:
set<int> s;
s.insert(2);
if(s.count(2) == 0){
...} // s.count()统计个数
2. Clasificación automática de elementos insertados:
priority_queue<int> ans // 最大堆排序
priority_queue<long,vector<long>, greater<long>()> ans; // 最小堆排序
3. Conversión de caja de cadenas:
string s;
transform(s.begin(), s,end(), s.begin(), ::tolower);
El tolower debe ser llamado en el espacio global. Las razones son las siguientes: La función de plantilla de transformación llama a la función tolower. La razón del error, la solución
4. El máximo / más pequeño de los tres números:
#include <algorithm>
using namespace std;
int x = min(min(2,3),5);
struct var {
char *name;
int key;
var(char *a,int k):name(a),key(k){
}
};
bool comp(const var& l, const var& r) {
return l.key < r.key;
}
int main() {
var v1("var1", 2);
var v2("var2", 3);
cout << std::min(v1, v2,comp).name << endl;
return 0;
5. La relación de mapeo
establecida por el mapa La relación de mapeo establecida por el mapa es automáticamente ordenada por el árbol rojo-negro, la relación de mapeo establecida por unordered_map no es ordenada internamente por la tabla hash.
// 定义一个map对象
map<int, string> mapStudent;
// 第一种 用insert函數插入pair
mapStudent.insert(pair<int, string>(000, "student_zero"));
// 第二种 用insert函数插入value_type数据
mapStudent.insert(map<int, string>::value_type(001, "student_one"));
// 第三种 用"array"方式插入
mapStudent[123] = "student_first";
原文链接:https://blog.csdn.net/sevenjoin/article/details/81943864
6, los
parámetros de paso de la función de aplicación make_pair usan directamente make_pair
f(std::make_pair(42, 12)); //pass two values as pair
aplicación de par
// make_pair example
#include <utility> //pair的标准库类型,它定义在头文件utility中
int main () {
// 方式一:
std::pair <int,int> foo;
foo.first = 1; // the type of first is int
foo.second = 2; // the type of second is int
// 方式二:
std::pair <int,int> bar(1,2);
// 方式三:
std::pair <int,int> xxx;
xxx = std::make_pair(10,20);
std::cout << "foo: " << foo.first << ", " << foo.second << '\n';
return 0;
}
7. Extracción del elemento superior de la pila y el elemento principal de la cola
stack<int> ans;
ans.push(2);
ans.push(3);
val = ans.top(); //栈用top
queue<int> ans;
ans.push(2);
ans.push(3);
val = ans.front(); // 队列用front