堆栈是数据结构中的线性数据类型,遵循LIFO(后进先出)方法(属性),其中插入和删除仅由一端完成,即“ TOP”。
在C ++标准模板库(STL)中,堆栈是在“堆栈”头文件中声明的一种容器适配器。它具有一些用于执行堆栈操作的内置函数。
stack() -用于检查堆栈容器是否为空。
size() -返回堆栈容器的大小(堆栈中元素的总数)。
top() -返回下一个元素(堆栈的顶部元素)。
push() -将元素插入(推动)到堆栈中。
pop() -从堆栈中删除元素。
参考: http : //www.cplusplus.com/reference/stack/stack/
#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