首页 > 数据结构 > 阅读:57,774

栈的定义:后进先出

栈是允许在同一端进行插入和删除操作的数据结构。被允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为出栈(POP)。

 

由于栈规定只能在同一端进行插入和删除,因此栈的一个典型特点就是后进先出。

 

为了理解栈的后进先出特性,下面来看一道BAT的笔试题:

一个栈的入栈序列为ABCDE,则不可能的出栈序列为?

A.     ECDBA

B.      DCEAB

C.      DECBA

D.     ABCDE

E.      EDCBA

答案:A,B

分析:

AE最先出栈,所以ABCD已经先后入栈,所以,根据后进先出,C不可能比D先出栈

BD出,C出,EE出,AB已经先后入栈,所以,A不可能比B先出

CDEECBA

DAABBCCDDEE

EEDCBA

周哥教IT,分享编程知识,提高编程技能,程序员的充电站。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841,期待您的加入!

二维码
微信扫描二维码关注