版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dark_cy/article/details/88648057
前言
一开始没打算写这篇博客的,因为之前已经写了一篇关于栈的博客了,虽然那是用数据结构来写的,但也基本实现了stack的各项操作。它与STL中的stack的主要区别就是,STL中把stack的各项操作函数封装进了名为stack的头文件中,这样就省去了每次写函数的时间,也让代码显得更加整洁,美观。
附上博客的链接(点这里),想了解堆栈的各项操作是怎样实现的小可爱可以点进去看看,另外里面还附录了后缀式转换及计算的代码。
头文件
#include<stack>
基本操作
用一个简单代码演示一下吧
#include<iostream>
#include<algorithm>
#include<stack>
using namespace std;
int main()
{
stack<int> q;
for(int i=0;i<10;i++)
q.push(i); //元素入栈(插入)
cout<<"输出栈顶元素:"<<endl<<q.top()<<endl;
cout<<"返回堆栈元素数量:"<<endl<<q.size()<<endl;
cout<<"判断堆栈是否为空:"<<endl<<q.empty()<<endl;
cout<<"所有元素出栈:"<<endl;
while(!q.empty())
{
cout<<q.top()<<" ";
q.pop(); //元素出栈(删除),先进后出
}
cout<<endl;
return 0;
}