STL常用容器总结

队列:

#include<queue>//头文件
queue<int> q;//定义
q.push(x);//入队
q.pop();//出队
q.empty();//判空
q.size();//队列元素个数
q.front();//队首元素值
q.back();//队尾元素值

栈:

#include<stack>//头文件
stack<int> s;//定义
s.push(x);//入栈
s.pop();//出栈
s.empty();//判空
s.size();//栈元素个数
s.top();//栈顶元素值

数组:

#include<vector>//头文件
vector<int> a;//定义
a.size()//元素个数
a.push_back(x);//插入
a.pop_back();//删除
a.front();//第一个元素值
a.back()//最后一个元素值
a.begin()//第一个数
a.end()//最后一个数的后一个数
for(auto x:a) cout<<x<<" ";//遍历

字符串

#include<cstring>//头文件
string s;//定义
s+="abc";//拼接
s.size()//大小
s.substr(a,b)//子串a位置到b位置
printf("%s",s.c_str());//C语言输出

优先队列:

#include<queue>//头文件
priority_queue<int> q;//定义
priority_queue<int,verctor<int>,greater<int>> q;//小根堆
q.push();//插入
q.pop();//删除堆顶元素
q.top();//返回堆顶元素值
q.size()//队列大小

双端队列

#include<deque>//头文件
deque<int> q;
q.size()//大小
q.push_back(x);//向后插入
q.push_front(x);//向前插入
q.pop_back();//向后删除
q.pop_front();//向前删除
q.front();//队首元素值
q.back();//队尾元素值
q.empty()//判空

Set:

#include<set>//头文件
set<int> s;//定义
s.insert(x);//插入
s.count(x);/元素x的个数
s.find(x);查找x
s.erase(x);//删除所有x
s.lower_bound(x)//返回大于等于x的最小的数
s.upper_bound(x)//返回大于x的最小的数
s.begin()/s.end() 支持++ --,返回前驱/后继 O(logn)

猜你喜欢

转载自blog.csdn.net/messywind/article/details/112848694
今日推荐