1. 数学函数
基本数学运算
abs(x) // 绝对值 max(a, b) // 返回较大值 min(a, b) // 返回较小值 pow(x, y) // x的y次方 sqrt(x) // 平方根 ceil(x) // 向上取整 floor(x) // 向下取整 round(x) // 四舍五入
排序函数
sort(arr, arr+n) // 对数组排序(从小到大) sort(arr, arr+n, greater<int>()) // 从大到小排序 这个函数有三个参数: arr - 数组的起始地址 arr+n - 数组的结束地址(实际上是第一个不排序的元素地址) greater<int>() - 排序规则(从大到小排序) 详细解释 greater<int>() greater 是一个模板类,表示"大于"的比较方式 <int> 指定了要比较的数据类型是整数 () 表示创建一个临时的 greater 对象 这个比较器会让 sort 函数按照从大到小的顺序排列元素。 实际例子 #include <bits/stdc++.h> // 需要包含这个头文件 using namespace std; int main() { int arr[] = {3, 1, 4, 1, 5, 9, 2, 6}; int n = 8; // 从大到小排序 sort(arr, arr+n, greater<int>()); // 输出结果 for(int i=0; i<n; i++) { cout << arr[i] << " "; } // 输出:9 6 5 4 3 2 1 1 return 0; } 或者自己写比较函数: bool myCompare(int a, int b) { return a > b; // 从大到小 } sort(arr, arr+n, myCompare);
2. 字符串处理
strlen(s) // 字符串长度 strcmp(s1, s2) // 字符串比较 strcpy(dest, src) // 字符串复制 strcat(s1, s2) // 字符串连接 tolower(c) // 转小写 toupper(c) // 转大写 isalpha(c) // 判断是否为字母 isdigit(c) // 判断是否为数字 strstr(s1, s2) // 查找子串 strchr(s, c) // 查找字符 strtok(s, delim) // 字符串分割 stoi(s) // 字符串转整数 to_string(x) // 数值转字符串
C++ string类操作
string s = "hello"; s.find("ll"); // 返回子串位置 s.substr(1, 3); // 截取子串 s.erase(2, 1); // 删除字符 s.replace(1, 2, "aa"); // 替换子串 stoi(s); // 字符串转整型
3. STL容器常用操作
vector(动态数组)
vector<int> v; v.push_back(x) // 末尾添加元素 v.pop_back() // 删除末尾元素 v.size() // 元素个数 v.empty() // 判断是否为空 v.clear() // 清空
stack(栈)
stack<int> s; s.push(x) // 入栈 s.pop() // 出栈 s.top() // 获取栈顶元素 s.empty() // 判断是否为空
queue(队列)
queue<int> q; q.push(x) // 入队 q.pop() // 出队 q.front() // 获取队首元素 q.empty() // 判断是否为空
4. 算法函数
reverse(arr, arr+n) // 反转数组 fill(arr, arr+n, value) // 填充数组 count(arr, arr+n, value) // 统计出现次数 find(arr, arr+n, value) // 查找元素 __gcd(a, b) // 最大公约数