数据结构--堆栈

来源:互联网 发布:淘宝新品上架的微淘 编辑:程序博客网 时间:2024/04/30 16:58

来源于   [维基百科,自由的百科全书]

堆栈(英文:stack),在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆栈顶端指标,英文为top)进行加入资料(push)和输出资料(pop)的运算。另外堆栈也可以用一维数组或链表的形式来完成。

由于堆栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。

堆栈数据结构使用两种基本操作:推入(push)和弹出(pop):

  • 推入(push)
:将数据放入堆栈的顶端(阵列形式或串行形式),堆栈顶端top指标加一。
  • 弹出(pop)
:将顶端数据资料输出(回传),堆栈顶端资料减一。
 

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;
}

-------------------------------------------------------

0 0