刷题我们常会用一些数据结构和对其操作的api,我来总结一番
list
listlst1; //创建空list
Lst1.front() 返回第一个元素
Lst1.back() 返回最后一个元素
Lst1.pop_front() 删除第一个元素
Lst1.pop_back() 删除最后一个元素
Lst1.push_back() 在list的末尾添加一个元素
Lst1.push_front() 在list的头部添加一个元素
map unordered_map
初始化
map<int,char> mymap;
map<int,char> mymap = {
{ 1, ‘a’},
{ 2 ,‘b’},
{3,‘c’}
};
赋值两种:
- mymap[0] = ‘a’;
- mymap.insert(pair<int,char>(1,‘a’));
删除 以删除key的方式 删除这个键对
mymap.erase(1);
查找;
auto it = myMap.find(1)0
map<int,char>::iterator it = myMap.find(1);
if(it != myMap.end())
queue
queueq1;
1.入队:如q.push(x):将x元素接到队列的末端;
2.出队:如q.pop() 弹出队列的第一个元素,并不会返回元素的值;
3,访问队首元素:如q.front()
4,访问队尾元素,如q.back();
5,访问队中的元素个数,如q.size();
stack
empty() 堆栈为空则返回真
pop() 移除栈顶元素
push() 在栈顶增加元素
size() 返回栈中元素数目
top() 返回栈顶元素
deque(大体和list操作差不多)
front();//返回第一个数据。
back();//返回最后一个数据
push_back(elem);//在容器尾部添加一个数据
push_front(elem);//在容器头部插入一个数据
pop_back();//删除容器最后一个数据
pop_front();//删除容器第一个数据
vector
pop_back();无需参数 弹出末尾的