//栈
size() empty()是所有容器都有
要求:push_back() pop_back() back()操作,可以使用的顺序容器有:vector deque list
底层实现是基于deque实现。
//都是O(1)
#include <cstdio>
#include <stack>
using namespace std;
int main(){
stack<int> st;
st.push(1); //入栈 O(1)
//在出栈之前先保证栈不为空!!!
if (!st.empty()) st.pop();//出栈 O(1)
int top = st.top(); //获取栈顶元素 O(1)
printf("%d\n", st.size()); //栈内元素的个数 O(1)
if (st.empty() == true) printf("empty"); //栈空返回true O(1)
return 0;
}
emplace() 是 C++ 11 标准新增加的成员函数,跟push()效果一样,但是效率更高!!!
推荐使用emplace() !!!