1.重複がないか確認します。
set<int> s;
s.insert(2);
if(s.count(2) == 0){
...} // s.count()统计个数
2.挿入された要素の自動ソート:
priority_queue<int> ans // 最大堆排序
priority_queue<long,vector<long>, greater<long>()> ans; // 最小堆排序
3.文字列の大文字と小文字の変換:
string s;
transform(s.begin(), s,end(), s.begin(), ::tolower);
tolowerはグローバルスペースで呼び出す必要があります。理由は次のとおりです:変換テンプレート関数がtolower関数を呼び出します。エラーの理由であるソリューション4。3
つの数値の最大/最小:
#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.
マップによって確立されたマッピング関係マップによって確立されたマッピング関係は、赤黒ツリーによって自動的にソートされます。unordered_mapによって確立されたマッピング関係は、ハッシュテーブルによって内部的にソートされません。
// 定义一个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、make_pairアプリケーション
関数はパラメーターを直接使用してmake_pairを渡します
f(std::make_pair(42, 12)); //pass two values as pair
ペアアプリケーション
// 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.スタックトップ要素とキューヘッド要素の抽出
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