stack简介
stack是一种先进后出(First In Last Out,FILO)的数据结构。它只有一个出口,形式如图4-18所示。stack 允许新增元素、移除元素、取得最顶端元素。但除了最顶端外,没有任何其它方法可以存取stack 的其它元素。换言之,stack不允许有遍历行为。
用法
stack<int> st;
//void push(const T & x) 向栈中推入一个元素 x
st.push(10); //st = { 10 },栈只能从一端推入
st.push(112); //st = { 112, 10 }
//void pop() 栈顶元素出栈
st.pop(); //st = { 10 }
//int size() 得到栈中元素数量,即栈的大小
int s = st.size(); //s = 1
//T top() 得到栈顶元素
int e = st.top(); //e = 10
// bool empty() 判断是否空栈
bool flag = st.empty(); //flag = false
//void emplace() 在栈顶构建一个新元素
st.emplace(15); //st = { 15, 10 }
push和emplace的区别是,emplace可以构建自定义的元素类型,而push不可以。