数据结构之栈

栈:只允许在表尾进行插入和删除的线性表 后进先出(Last In First Out)LIFO结构

( 注意:线性表的存储方式分为顺序存储和链式存储)

操作方式:

1)进栈 

栈的压入,也称压栈、入栈  push

2)出栈

栈的删除   pop

其中进栈出栈有多种变化方式:例如可以同时入栈123再出栈,也可以单个入再单个出例如入1出1再继续

数据结构之栈

栈的存储方式:

顺序存储

缺点:需要事前确定数组的存储空间

空栈的判断条件:top=-1

数据结构之栈

进栈操作:

数据结构之栈

出栈操作:

数据结构之栈

两栈共享存储空间

适用情况:例如一栈增长另一栈缩短

分为top1和top2

栈为空的判断条件:栈1为空时top1=-1;栈2为空时top2=n

栈满情况:top1+1=top2

 数据结构之栈

数据结构之栈

 进栈操作:

数据结构之栈

数据结构之栈

出栈操作:

 数据结构之栈

 栈的链式存储结构

不需要头结点

适用于栈的空间大小不可预料情况

链栈为空的判断条件是top=NULL

数据结构之栈

进栈操作

注意大写S和小写s S为指向链栈指针的结构 s为链表结点

 数据结构之栈

数据结构之栈

 出栈操作

数据结构之栈

参考:大话数据结构