1.vector
vector<int> fuck(n),a(n),b(n); //n为大小
vector<int> a,b;
for(auto x:fuck) //循环元素
vector<vector<int>> fuck(n, vector<int>(m)); //二维,定义大小
vector<vector<int>>fuck(n);
for(int i=0;i<n;i++)
{
fuck[i].resize(i+1);
} //二维,每行大小分别定义
int l=fuck.size(); //返回大小
fuck.push_back(); //末尾添加元素
fuck[i][j]; //可以直接用ij访问
return fuck;
return vector<int>(fuck.rbegin(),fuck.rend()); //翻转
2.stack
stack<int>s;
int n;
s.push(n);
s.pop();
s.top();//最后放入的
s.size();
3.queue
queue<int>q;
int n;
q.front();
q.back();
q.size();
q.push(n);
q.pop();
q.empty()=1;//表示空了
4.map
unordered_map<int,vector<int>>hash;
//无序,查找快
hash[x].size(); //长度
hash[x].clear(); //清空
hash[x].push_back(i); //加入元素
5.数组初始化为0
int x[25]={0};
//int x[n]={0}; 这样不行,变量可定义长度,不可初始化
6.swap函数,用来交换
swap(x,y);
7.数字转换成字符串to_string函数
int x;
cin>>x;
string s;
s=to_string(x);
cout<<s;
8.排序
vector<pair<int,int>>fuck(l);
fuck[i].first=a;
fuck[i].second=b;
sort(fuck.begin(),fuck.end()); //排序,先比first,再比second
sort(fuck.rbegin(),fuck.rend()); //从大到小排序,first一样大的话second从大到小
bool cmp(string a,string b)
{
return a+b<b+a;
}// 放在solution类前面
vector<string>fuck(n);
sort(fuck.begin(),fuck.end(),cmp);