第三章、栈和队列
3.1栈
3.1.1栈的定义
栈(stack)是一种只能在一端进行插入或删除操作的线性表。表中允许进行插人、删除操作的一端称为栈顶(top),表的另一端称为栈底(bottom)。栈顶的当前位置是动态的,栈顶的当前位置由一个被称为栈顶指针的位置指示器来指示。当栈中没有数据元素时称为空栈。栈的插人操作通常称为进栈或入栈(push),栈的删除操作通常称为出栈或退栈(pop)。
栈的主要特点是“后进先出"(Last In First Out,LIFO),即后进栈的元素先出栈。每次进栈的数据元素都放在原来栈顶元素之前成为新的栈顶元素,每次出栈的数据元素都是当前栈顶元素。栈也称为后进先出表。
3.1.2栈的顺序存储结构及其实现
采用顺序存储结构的栈就是顺序栈。一般的顺序存储结构采用的是数组。