acm 第三天:STL整理

#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

  1. .clear()
  2. .push_back(x);//add a velue.
  3. .empty()//true or false
  4. .size()

map

  1. map<string,char>mp;
  2. mp.empty()
  3. mp.clear()

stack

  1. sta.push() 入栈
  2. sta.pop() 出栈
  3. sta.empty() 是否为空
  4. sta.size() 栈大小
  5. sta.top() 栈顶元素
  6. 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之间的 关系)

猜你喜欢

转载自blog.csdn.net/weixin_42748371/article/details/86498077