vector
-
定义
-
vectorv(10); 默认10个元素都为0
-
vector<int>v1; v1.resize(8);默认元素都为0
-
vector<int>v3(100,9);100个元素初始化为9
-
-
下标访问 迭代器访问 允许迭代器加上整数的写法如 vi.begin()+3
-
v.push_back() v.pop_back()
-
v.clear()清空所有 通用
-
v.insert(it,x) it为迭代器
-
v.erase()
- v.erase(it) 删除迭代器为it的元素
- v.erase(first,last)删除两迭代器之间的元素
v[v.begin()]=v[0];
set
- 迭代器访问
- s.insert(x) 自动排序去重
- s.find(value)返回set中对应迭代器
- s.erase()
- s.erase(it)it为要删除元素的迭代器 结合find用
- s.erase(value)value为要删除元素的值
- s.erase(first,last)删除两迭代器间的元素
适用于需要去重但不方便直接开数组的情况
string
-
下标、迭代器访问
-
可直接用+来拼接字符串 直接用> < =等符号来比较
-
insert
- str.insert(pos,string)在pos位置插入字符串
- str.insert(it,it2,it3)it 为原字符串某位置,it2 it3是待插字符串的首尾迭代器
-
str.substr(pos,len)返回从pos位开始,长度为len的子串
- str.substr(pos)返回从pos位开始直到末尾的子串
-
str.find()
- str.find(str2)当str2是str的子串时,返回其在str中第一次出现的位置,如果没有返回-1
- str.find(str2,pos)从pos位开始匹配str2
-
replace()
- str.replace(pos,len,str2)把str从pos位开始、长度为len的子串替换为str2
- str.replace(it1,it2,str2)把str的迭代器[it1,it2)范围的子串替换为str2
map
-
下标访问 迭代器访问
-
m.find(key)返回键为key的迭代器
-
erase()
-
mp.erase(it)it是需要删除元素的迭代器
-
mp.erase(key)key为删除元素的键
-
mp.erase(first,last)删除两迭代器间的元素
-
queue
- q.front() q.back()
- q.push() q.pop()
- q.empty()
priority_queue
- q.push() q.pop()
- q.top()
- q.empty()
stack
- q.push() q.top() q.pop()q.empty()
algorithm
-
max(x,y) min(x,y) x,y可为浮点数
-
abs(x) x必须是整数 math头文件的fabs(x)可为浮点数
-
swap(x,y)
-
reverse(it,it2)it可为数组指针或迭代器
-
next_permutation() 给出一个序列在全排列中的下一个序列到达最后一个时返回false
-
fill()
-
sort()
插入 | 删除 | 查 找 | |
---|---|---|---|
vector | v.insert(it,x) | v.erase(it) v.erase(first,last) | |
set | s.insert(x) | s.erase(it) s.erase(value) s.erase(first,last) | s.find(value) |
string | str.insert(pos,string) str.insert(it,it2,it3) | str.find(str2) str.find(str2,pos) | |
map | mp.erase(it) mp.erase(key) mp.erase(first,last) | m.find(key) |
cctype头文件
-
islower(a)判断小写字母
if(islower(a))...
-
isupper(a)判断大写字母
-
isalpha(a)判断大小写
-
isalnum(a)大小写加数字
-
isblank(a) space和\t
-
isspace(a) space、\t,\r,\n
-
tolower(a) toupper(a)把某个字符转为小写或大写
char c='A'; char t=tolower(c);
auto 声明
自动识别定义任意变量类型
to_string
string s1=to_string(123);
string s2=to_string(1.23);
可以把数字转化为string类型变量
stoi、stod
string str="123";
int a=stoi(str);
可以把string转化为int double float
stoll(string to long long)
刷题模板
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<vector>
#include<queue>
using namespace std;
int main(){
#ifdef ONLINE_JUDGE
#else
freopen("1.txt", "r", stdin);
#endif
/* your code */
return 0;
}