常用头文件速查

写代码前先想清楚要什么功能,再决定包含哪个头文件。以下按用途分类,点代码右上角可一键复制。

常用功能 常用头文件 STL 速查 语法速查 常用函数 算法模板 课程表 作业 竞赛真题

输入与输出 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; }
在线编译器