1.栈(堆栈)简介
2.栈包含的特性以及基本运算
3.基于数组的栈逻辑运算
4.基于链表的栈逻辑运算
1.1栈(堆栈)简介
栈(stack)也被称为堆栈,是一种受限运算的线性表,是一组相同数据类型的组合。它添加和删除元素都被限制在表的一端进行(栈顶端),而另外一端则被称为栈底。
栈中的元素以后进先出(Last In First Out, LIFO)的方式进出栈,它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来).
栈提供了两个主要操作:进栈(push),即将某个元素添加到栈集合内;出栈(pop),即将最近添加的元素移出栈集合。此外,栈一般具有特定的容量,如果栈中添加的元素总数超过了容量,则将会导致栈处于溢出状态。
栈的实现方式主要有两种:基于数组和链表。它们都提供了统一的接口,即进栈和出栈,唯一的区别就是使用了不同的结构来存储栈元素。
2.1栈的特性
(1)只能从栈的顶端存取数据
(2)数据的存取符合“后进先出”(Last In First Out, LIFO)的原则
2.2栈的基本运算
(1)create:创建一个空栈。
(2) push:把数据存入栈顶,并返回新栈。
(3) pop:从栈顶弹出新数据,并返回新栈。</