常用头文件速查
写代码前先想清楚要什么功能,再决定包含哪个头文件。以下按用途分类,点代码右上角可一键复制。
输入与输出 I/O
#include <iostream>——cin / cout标准输入输出(最常用)#include <cstdio>——printf / scanf / getchar / putchar,C 风格快读快写#include <fstream>—— 文件读写ifstream / ofstream#include <sstream>—— 字符串流stringstream,字符串与数字互转
常用容器 Container
#include <vector>—— 动态数组,竞赛最常用#include <string>—— 字符串类,支持+、substr、find#include <deque>—— 双端队列#include <list>—— 双向链表#include <stack>—— 栈,后进先出#include <queue>—— 队列,先进先出#include <priority_queue>—— 优先队列(堆)
关联容器 Map / Set
#include <map>—— 键值对,有序(红黑树)#include <set>—— 集合,有序且不重复#include <unordered_map>—— 键值对,无序(哈希表,O(1))#include <unordered_set>—— 集合,无序(哈希表)#include <utility>——pair<T1,T2>二元组#include <iterator>—— 迭代器辅助(begin/end等)
算法与工具 Algorithm
#include <algorithm>——sort / reverse / find / min / max等#include <numeric>——accumulate求和、iota#include <functional>——greater<>等比较器、bind#include <cstdlib>——atoi / atol / rand / abs
字符串与字符 String
#include <cstring>——strlen / strcmp / memcpy / memset,C 风格字符串#include <cctype>——isalpha / isdigit / isupper / tolower / toupper
数学 Math
#include <cmath>——sqrt / pow / fabs / floor / ceil / round / log#include <climits>——INT_MAX / INT_MIN / LLONG_MAX等极限值#include <cfloat>—— 浮点极限DBL_MAX等#include <ctime>——time / clock,计时与随机种子
竞赛万能头 Competition
#include <bits/stdc++.h>—— 一次包含几乎所有标准库头文件- 适合本地竞赛环境与快速测试;正式工程或某些评测机不支持,建议养成按需包含的习惯。
#include <bits/stdc++.h> // 竞赛万能头
using namespace std;
int main(){
cout << "hello" << endl;
return 0;
}