C++信奥赛(信息学奥林匹克竞赛)中常用的中英文术语对照表,涵盖关键字、数据结构、STL容器、算法及常见操作:
一、C++ 关键字
| 英文关键字 | 
中文含义 | 
示例代码 | 
int | 
整数 | 
int a = 10; | 
long long | 
长整型 | 
long long b = 1e18; | 
double | 
双精度浮点数 | 
double pi = 3.14; | 
bool | 
布尔值 | 
bool flag = true; | 
char | 
字符 | 
char c = 'A'; | 
string | 
字符串 | 
string s = "hello"; | 
if | 
如果 | 
if (a > 0) {...} | 
else | 
否则 | 
else {...} | 
for | 
循环 | 
for (int i=0; i<n; i++) | 
while | 
当...时 | 
while (a > 0) {...} | 
do-while | 
至少执行一次循环 | 
do {...} while (a>0); | 
switch | 
开关 | 
switch (x) {...} | 
case | 
情况 | 
case 1: ... break; | 
default | 
默认 | 
default: ... | 
break | 
跳出循环 | 
break; | 
continue | 
继续下一次循环 | 
continue; | 
return | 
返回 | 
return 0; | 
const | 
常量 | 
const int N = 100; | 
static | 
静态 | 
static int cnt = 0; | 
struct | 
结构体 | 
struct Node {...}; | 
class | 
类 | 
class Solution {...}; | 
public | 
公有 | 
public: ... | 
private | 
私有 | 
private: ... | 
protected | 
保护 | 
protected: ... | 
friend | 
友元 | 
friend class A; | 
inline | 
内联 | 
inline int add(a, b) | 
namespace | 
命名空间 | 
namespace std {...} | 
using | 
使用 | 
using namespace std; | 
typedef | 
类型定义 | 
typedef int LL; | 
template | 
模板 | 
template <typename T> | 
typename | 
类型名 | 
typename T::value_type | 
virtual | 
虚函数 | 
virtual void func(); | 
delete | 
删除 | 
delete p; | 
new | 
新建 | 
int* p = new int; | 
二、数据结构
| 英文术语 | 
中文名称 | 
描述 | 
array | 
数组 | 
连续存储的相同类型元素 | 
stack | 
栈 | 
后进先出(LIFO) | 
queue | 
队列 | 
先进先出(FIFO) | 
priority_queue | 
优先队列 | 
元素按优先级排序 | 
deque | 
双端队列 | 
两端均可插入删除 | 
list | 
链表 | 
双向链表 | 
vector | 
向量/动态数组 | 
可动态扩展的数组 | 
pair | 
二元组 | 
存储两个不同类型元素 | 
tuple | 
元组 | 
存储多个不同类型元素 | 
set | 
集合 | 
元素唯一,自动排序 | 
multiset | 
多重集合 | 
元素可重复,自动排序 | 
unordered_set | 
无序集合 | 
元素唯一,哈希实现 | 
unordered_multiset | 
无序多重集合 | 
元素可重复,哈希实现 | 
map | 
映射/字典 | 
键值对,自动排序 | 
multimap | 
多重映射 | 
键可重复,自动排序 | 
unordered_map | 
无序映射 | 
键值对,哈希实现 | 
unordered_multimap | 
无序多重映射 | 
键可重复,哈希实现 | 
tree | 
树 | 
层次结构 | 
binary tree | 
二叉树 | 
每个节点最多两个子节点 | 
binary search tree | 
二叉搜索树 | 
左子树 < 根 < 右子树 | 
AVL tree | 
AVL树 | 
自平衡二叉搜索树 | 
red-black tree | 
红黑树 | 
自平衡二叉搜索树 | 
heap | 
堆 | 
完全二叉树,常用于优先队列 | 
graph | 
图 | 
由节点和边组成 | 
adjacency matrix | 
邻接矩阵 | 
用二维数组表示图 | 
adjacency list | 
邻接表 | 
用链表表示图 | 
三、STL 容器与操作
| 英文操作 | 
中文含义 | 
示例代码 | 
push_back() | 
尾部插入 | 
vec.push_back(10); | 
push_front() | 
头部插入 | 
deque.push_front(10); | 
pop_back() | 
尾部删除 | 
vec.pop_back(); | 
pop_front() | 
头部删除 | 
deque.pop_front(); | 
insert() | 
插入 | 
set.insert(5); | 
erase() | 
删除 | 
vec.erase(vec.begin()); | 
clear() | 
清空 | 
vec.clear(); | 
size() | 
大小 | 
vec.size(); | 
empty() | 
判断是否为空 | 
if (vec.empty()) {...} | 
front() | 
获取第一个元素 | 
int x = deque.front(); | 
back() | 
获取最后一个元素 | 
int x = vec.back(); | 
begin() | 
起始迭代器 | 
auto it = vec.begin(); | 
end() | 
结束迭代器 | 
auto it = vec.end(); | 
rbegin() | 
反向起始迭代器 | 
auto rit = vec.rbegin(); | 
rend() | 
反向结束迭代器 | 
auto rit = vec.rend(); | 
find() | 
查找 | 
auto it = set.find(5); | 
count() | 
统计元素个数 | 
int cnt = map.count(key); | 
lower_bound() | 
下界 | 
auto it = vec.lower_bound(5); | 
upper_bound() | 
上界 | 
auto it = vec.upper_bound(5); | 
sort() | 
排序 | 
sort(arr.begin(), arr.end()); | 
reverse() | 
反转 | 
reverse(vec.begin(), vec.end()); | 
swap() | 
交换 | 
swap(a, b); | 
max_element() | 
最大值位置 | 
auto it = max_element(arr.begin(), arr.end()); | 
min_element() | 
最小值位置 | 
auto it = min_element(arr.begin(), arr.end()); | 
accumulate() | 
求和 | 
int sum = accumulate(arr.begin(), arr.end(), 0); | 
四、算法与常用操作
| 英文术语 | 
中文名称 | 
描述 | 
recursion | 
递归 | 
函数调用自身 | 
iteration | 
迭代 | 
循环执行 | 
divide and conquer | 
分治法 | 
分解问题为子问题 | 
dynamic programming | 
动态规划 | 
用子问题解优化问题 | 
greedy algorithm | 
贪心算法 | 
每步选择最优解 | 
backtracking | 
回溯法 | 
尝试所有可能路径 | 
binary search | 
二分查找 | 
在有序数组中查找元素 | 
depth-first search (DFS) | 
深度优先搜索 | 
沿路径深入遍历 | 
breadth-first search (BFS) | 
广度优先搜索 | 
逐层遍历 | 
Dijkstra's algorithm | 
迪杰斯特拉算法 | 
单源最短路径 | 
Floyd-Warshall algorithm | 
弗洛伊德算法 | 
多源最短路径 | 
Kruskal's algorithm | 
克鲁斯卡尔算法 | 
最小生成树 | 
Prim's algorithm | 
普里姆算法 | 
最小生成树 | 
topological sorting | 
拓扑排序 | 
有向无环图排序 | 
union-find | 
并查集 | 
处理不相交集合合并 | 
hash function | 
哈希函数 | 
将数据映射为固定长度 | 
modulo operation | 
取模运算 | 
a % b | 
bit manipulation | 
位运算 | 
按位与、或、非等操作 | 
五、数学与常用概念
| 英文术语 | 
中文名称 | 
描述 | 
prime number | 
质数/素数 | 
大于1且只能被1和自身整除的数 | 
composite number | 
合数 | 
非质数的大于1的数 | 
greatest common divisor (GCD) | 
最大公约数 | 
两数的最大公因子 | 
least common multiple (LCM) | 
最小公倍数 | 
两数的最小公倍数 | 
modular arithmetic | 
模运算 | 
余数运算 | 
factorial | 
阶乘 | 
n! = 1×2×…×n | 
permutation | 
排列 | 
从n个元素中取k个排列 | 
combination | 
组合 | 
从n个元素中取k个组合 | 
Catalan number | 
卡特兰数 | 
组合数学中的数列 | 
Fibonacci sequence | 
斐波那契数列 | 
F(n) = F(n-1) + F(n-2) | 
probability | 
概率 | 
事件发生的可能性 | 
expectation | 
期望值 | 
随机变量的平均值 |