stack
堆栈(stack)是一种先进后出(LIFO)类型的容器匹配器,仅能在一端对元素进行添加和删除操作。
头文件 #include <stack>
定义和初始化
cpp
std::stack<int> stk;
方法
stk.push(x)
:在栈顶压入新元素x
stk.emplace()
:在栈顶直接构造新元素x
,而不会执行内存拷贝和移动的操作。
STL 中的容器
vector
,map
,stack
等在插入操作的时候,会自动执行内存拷贝和移动操作(初始化时触发构造函数,插入时会触发移动/拷贝构造函数)。涉及大量的插入操作时,可以使用emplace()
,emplace_back()
取代insert()
,push_back()
进行优化:当插入左值时,它少执行一次移动构造函数;当插入右值时,它少执行一次拷贝构造函数
stk.pop()
:删除栈顶元素,但不返回其值stk.top()
:查看并返回栈顶的元素,但不删除该元素stk.empty()
:判断是否空栈stk.size()
:返回当前栈中元素个数stk.swap()
:交换