STL—stack(堆栈容器)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}

猜你喜欢

转载自blog.csdn.net/dark_cy/article/details/88648057