容器
1.vector
#include <vector>
vector<int > a;
vector<int > b[233 ];
vector<int > a ({1 ,2 ,3 }) ;
struct Rec
{
int x,y; n
};
vector<Rec> c;
a.size ();
a.empty ();
a.clear ();
vector<int >::iterator it=a.begin ();
a.begin ()
*a.begin ()
it+2
it
a.end
for (int i=0 ;i<a.size ();i++)
cout<<a[i]<<endl;
for (vector<int >::iterator it=a.begin ();it!=a.end ();it++)
cout<<*it<<endl;
for (int x:a) cout<<x<<endl;
a.front ()等价于a[0 ]等价于*a.begin ()
a.back ()等价于a[a.size ()-1 ]等价于*(a.end ()-1 )
a.push_back (x);
a.pop_back ();
2.queue
#include <queue>
queue <int > q;
queue <double > q;
priority_queue <int > q;
priority_queue <int ,vector <int >,greater<int >> b;
priority_queue <pair <int ,int >> q;
struct Rec
{
int a,x,y;
}
queue <Rec> b;
q.push(1 )
q.pop()
q.front()
q.back()
q=queue <int >();
3.stack
#include <stack>
stack <int > stk;
stk.push(1 );
stk.top();
stk.pop();
4.deque
dequeue<int > q;
q.begin(),q.end();
q.front(),q.back();
q.push_back(1 );
q.push_front(2 );
q[0 ];
q.pop_back(),q.pop_front()
q.clear();
5.set
#include <set>
set<int > a;
multiset<int > b;
a.size ();
a.empty ();
a.clear ();
a.insert (x);
a.find (x);
函数
1.位运算
求x的第k位数字 x >> k & 1
lowbit(x) = x & -x,返回x的最后一位1
2.常用库函数
#include <algorithm>
1 )reverse 翻转
翻转一个vector
reverse (a.begin(),a.end) ;
翻转一个数组,元素存放在下标0 ~n-1
reverse(a,a+n);
2 )unique 去重
把一个vector 去重:
int m = unique(a.begin(), a.end()) – a.begin();
把一个数组去重,元素存放在下标1 ~n:
int m = unique(a, a+n) – (a);
3 )random_shuffle 随机打乱
用法与reverse相同
4 ) sort
bool cmp (int a, int b) {return a > b; }
sort(a, a+n, cmp);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具