1.Stack(堆栈) 是一个容器类的改编,先进后出(FILO)的数据结构。
即先进去的数据在底部,最后取出,后进去的数据在顶部,最先被取出。
stack的头文件为:#include < stack >
如图
2.stack的常用成员函数介绍
empty() 堆栈为空则返回真
pop() 移除栈顶元素
push() 在栈顶增加元素
size() 返回栈中元素数目
top() 返回栈顶元素
sk1.swap(sk2) 交换两个栈
3.示例
#include <iostream>
#include <stack>
using namespace std;
int main ()
{
stack< int > mystack,youstack;//定义栈
int sum (0);
for ( int i=1;i<=10;i++)
mystack.push(i);//在栈顶增加元素
for ( int i=11;i<=15;i++)
youstack.push(i);//在栈顶增加元素
int lmy=(int)mystack.size();//返回栈中元素数目
cout<<"mystack long: "<<lmy<<endl;
int lyou=(int)youstack.size();//返回栈中元素数目
cout<<"youstack long: "<<lyou<<endl;
mystack.swap(youstack);
cout<<"swap后:"<<endl;
lmy=(int)mystack.size();//返回栈中元素数目
cout<<"mystack long: "<<lmy<<endl;
lyou=(int)youstack.size();//返回栈中元素数目
cout<<"youstack long: "<<lyou<<endl;
while (!mystack.empty())//堆栈为空则返回真
{
cout<<mystack.top()<<endl;
sum += mystack.top();//返回栈顶元素
mystack.pop();//移除栈顶元素
}
cout << "mystack total: " << sum << endl;
return 0;
}