数据结构(第3章).docxVIP

  • 1
  • 0
  • 约1.21万字
  • 约 15页
  • 2023-04-11 发布于四川
  • 举报
第3章栈和队列 栈和队列是两种特殊的线性表,它们的逻辑结构和线性表 相同,只是其运算规则较线性表有更多的限制,故又称它们 为运算受限的线性表。栈和队列被广泛应用于各种程序设计 中。 3. 1栈 3. 1. 1栈的定义及其基本运算(1)栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的 线性表,通常称插入、删除的这一端为栈顶(Top),另一端 称为栈底(Bottom)o当表中没有元素事称为空栈。 根据上述定义,每次删除(退栈)的总是当前栈中“最新” 1, a2,…,an的顺序进栈,而退栈的次序却是an, an-i,…,aio也就是说,栈的修改是按后进先出的原则进行的。因此, 栈又称为后进先出(Last In First Out)的线性表,简称为LIFO 表。栈在日常生活中也可见到,如一叠书或一叠盘子,若规 定从这叠物体中取出一件或放入一件只能在顶端进行,那就 是一个栈。 (2)栈的六种基本运算 ?InitStack(S)构造一个空栈。 (2)StackEmpty(S)判栈空。若S为空栈,则返回TRUE,否则返回FALSE。 @StackFull(S) 判栈满,若S为满栈,则返回TRUE,否则返回FALSEo 该运算只适用于栈的顺序存储结构。 @Push(S,x)进栈。若栈S不满,则将元素x插入S的栈顶。 ⑤Pop (S) 退栈。若栈S非空,则将S的栈顶元素删去,并返回

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档