栈和队列是两种重要的数据结构
从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限的线性表,因此,可称为限定性的数据结构
从数据类型的角度来看,它们是和线性表大不相同的两类重要的抽象数据类型
栈和队列广泛应用在各种软件系统中,因此在面向对象的程序设计中,它们是多型数据类型
冰冻非一日之寒
栈是一种线性结构
相比数组,栈的对应的操作是数组的子集
只能从一端添加元素,也只能从一端删除元素(这一端称为栈顶)
栈示例
入栈
只能从栈顶进入,只有栈顶元素(4)是用户可见的
出栈
只能从栈顶出来,所以一次出栈只有元素4可以出栈
栈是一种后进先出的数据结构