来源于 [维基百科,自由的百科全书]
堆栈(英文:stack),在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆栈顶端指标,英文为top)进行加入资料(push)和输出资料(pop)的运算。另外堆栈也可以用一维数组或链表的形式来完成。
由于堆栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。
堆栈数据结构使用两种基本操作:推入(push)和弹出(pop):
| :将数据放入堆栈的顶端(阵列形式或串行形式),堆栈顶端top指标加一。 |
| :将顶端数据资料输出(回传),堆栈顶端资料减一。 |
http://hi.baidu.com/zhangqijun/item/b2f838e0f0f14df92a09a4e9
堆栈的基本内容:
1)constructor //<================构造器
2)isEmpty //<================检测堆栈是否为空
3)push //<================压栈,就是向栈中增加一个元素
4)pop //<============出栈,从栈中删除一个元素,并返回一个值,这个删除的元
//<=====================素就是最后一个进栈的
说白了,构建这个栈也就这四步。在C++中只要在头文件中加入:
#include<stack.h>
就可以直接使用栈这个数据结构了。
----------------------------------------------filename:StackTest.cpp
#include<iostream>
#include<stack>
using namespace std;
int main()
{
stack<int> stack;
if(stack.empty()==true) stack.push(2);
cout<<stack.top()<<endl;
int x;
cin>>x;
stack.push(x);
cout<<stack.top()<<endl;
return 0;
}
-------------------------------------------------------