栈 stack
头文件:<stark>
2.1 构造方式
stack<double> stk
[stk是栈名];
2.2 进栈与出栈及取栈顶部
- 进栈:
stk.push(x);
[将x放入栈中] - 出栈:
stk.pop();
[栈顶出栈] - 取栈顶:
stk.top()
[获取栈顶
2.3 用vector模拟stack
使用dp.back()
取栈(容器)顶
2.4 写栈的注意事项
- 不能访问栈的内部元素
- 下面都是错误用法
stack<int> stk;
for(int i = 1;i < stk.size();i++)
{
cout << stk[i]<<endl;
}
for(auto ele : stk)
{
cout << stk <<endl;
}
2.5 与 vector 相比 stack的优势是什么?
- stack效率是高于vector的
- stack的内存占用更低
- 在某些算法实现下(如深度优先搜索 DFS),stack可能是更自然的选择