使用C ++标准模板库(STL)的堆栈程序

堆栈是数据结构中的线性数据类型,遵循LIFO(后进先出)方法(属性),其中插入和删除仅由一端完成,即“ TOP”

在C ++标准模板库(STL)中,堆栈是在“堆栈”头文件中声明的一种容器适配器。它具有一些用于执行堆栈操作的内置函数。

C ++ STL中的堆栈功能

  1. stack() -用于检查堆栈容器是否为空。

  2. size() -返回堆栈容器的大小(堆栈中元素的总数)。

  3. top() -返回下一个元素(堆栈的顶部元素)。

  4. push() -将元素插入(推动)到堆栈中。

  5. pop() -从堆栈中删除元素。

参考: http : //www.cplusplus.com/reference/stack/stack/

使用C ++ STL实现堆栈的程序

#include <iostream>
#include <stack>

using namespace std;

//支付堆栈的功能
void dispStack(stack <int> st){
    //声明温度 statck-
    stack <int> s = st;
    while(!s.empty()){
        cout<<s.top()<<" ";
        s.pop();
    }
    cout<<endl;
}

//堆栈程序的主要功能
int main(){
   //声明堆栈变量
   stack <int> st;
   
   //插入元素
   st.push(10);
   st.push(20);
   st.push(30);
   st.push(40);
   st.push(50);
   
   //显示堆栈库,顶部元素和堆栈元素
   cout<<"Total stack elements are: "<<st.size()<<endl;
   cout<<"Top elements is: "<<st.top()<<endl;
   cout<<"All stack elements are: "<<endl;
   dispStack(st);
   
   //删除两个堆栈元素
   st.pop();
   st.pop();
   
   cout<<"\nAfter removing two elements...\n";
    
    //再次....-
   //显示堆栈库,顶部元素和堆栈元素
   cout<<"Total stack elements are: "<<st.size()<<endl;
   cout<<"Top elements is: "<<st.top()<<endl;
   cout<<"All stack elements are: "<<endl;
   dispStack(st);   
   
   return 0;
}

输出结果

Total stack elements are: 5
Top elements is: 50
All stack elements are: 
50 40 30 20 10 

After removing two elements...
Total stack elements are: 3
Top elements is: 30
All stack elements are: 
30 20 10