#include <bits/stdc++.h>
或者要include
好多个,如<string>
。
using namespace std;
队列queue
的函数
q.pop()
删除queue的队头元素
q.front()
返回队列的队头元素,但不删除该元素
q.back()
返回队列的队尾元素,但不删除该元素
q.push(arg)
将元素arg插入到队列的队尾
q.emplace(arg)
将元素arg放置到队列的尾部,作用和push一样
q.size()
返回队列中元素的个数
q.empty()
当队列为空时返回true,否则返回false
q.swap(q1)
交换q和q1中的元素,方法和stack中一样,并不会真正使用拷贝形式进行交换,只是交换底层的数据结构
swap(q,q1)
非成员函数,和成员函数swap一样
vector
- .clear()
- .push_back(x);//add a velue.
- .empty()//true or false
- .size()
map
- map<string,char>mp;
- mp.empty()
- mp.clear()
stack
- sta.push() 入栈
- sta.pop() 出栈
- sta.empty() 是否为空
- sta.size() 栈大小
- sta.top() 栈顶元素
sta.back()没有这种操作
公用的动作:
.size() 元素个数
.clear() 清空
.push()/push_back()/insert() 注入元素
.pop()/erase() 删除元素
.empty() 判断是否为空
常用的STL容器:
vector(数组), string(字符串串), list(链表), stack(栈),
queue (队列), priority_queue(优先队列), deque(双端队列),
map(映 射,一对一), multimap(多重映射,一对多)
set(我也不知道中文怎么解释), multiset(与set的关系类似于 multimap和map之间的 关系)