第3章栈和队列2.docVIP

  • 2
  • 0
  • 约 19页
  • 2017-05-29 发布于北京
  • 举报
第3章 栈和队列 栈和队列是两种重要的线性结构。它们的共同特点是:操作受限(插入元素和删除元素只能在端点处进行)的线性表。 3.1 栈 3.1.1 抽象数据类型栈的定义 什么是栈(Stack):栈是限定仅在表尾进行插入或删除操作的线性表。对栈来说,表尾端有其特殊的含义,称为栈顶(Top),相应地,表头端称为栈底(Bottom)。不含元素的栈称为空栈。 栈在生活中的例子:蒸小茏包,先放下去的最后才拿出来。 栈:是先进后出(First In Last Out,FILO)的线性表,也可称为后进先出(Last in First Out,LIFO)。对应的一个名词:先进先出First In First Out(FIFO)。通常栈可用下图来表示: 假设插入元素的序列为:49,27,36,57,63,89,16,这个过程称为入栈。其过程为:将元素放到当前栈顶指向的空间,然后,栈顶移动一个位置。 出栈:就是将元素从栈顶元素处删除。其过程为:先将栈顶向下移动一个位置,再将该元素拷贝出来。 典型的题目:如果有4个元素:a b c d,依次入栈,其中又陆续出栈,问有哪些合法的出栈顺序? 1)a b c d ?可以 2)a b d c ?可以 3)c b d a ?可以 4)c a d b ?不可能 抽象数据类型的定义: ADT Stack{ 数据对象: 数据关系:

文档评论(0)

1亿VIP精品文档

相关文档