堆栈是一个线性表,插入和删除只在表的一段进行。一端称为栈顶(Stack Top);另一端称为栈底(Stack Bottom)。
堆栈的元素插入称为入栈,元素的删除成为出栈。由于元素的入栈和出栈总在栈顶执行,因此,堆栈是一个后进先出表(Last In First Out);即LIFO表。
C++的STL的stack堆栈容器不设最大容量,提供入栈、出栈、栈顶元素访问和判断是否为空的基本操作。
参考程序如下:
#include<stack>
#include<iostream>
#define STACK_SIZE 100
using namespace std;
int main()
{
stack<string>s;
s.push("aaa");
s.push("bbb");
s.push("ccc");
if(s.size()<STACK_SIZE)
{
s.push("69");
}
while(!s.empty())
{
cout<<s.top()<<endl;
s.pop();
}
return 0;
}