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