第3章 栈和队列.pptVIP

  • 8
  • 0
  • 约6.55千字
  • 约 30页
  • 2019-09-03 发布于江苏
  • 举报
第3章 栈和队列 栈的定义和特点 定义:限定仅在表尾进行插入或删除操作的线性表。 表尾—栈顶(top),表头—栈底(bottom) 不含元素的空表称空栈 栈的存储结构:顺序栈、链栈 顺序栈:栈的顺序存储结构简称为顺序栈 实现:一维数组s[M] 用C语言定义的顺序存储结构的栈如下: # define MAXNUM 4 //最大元素数 typedef struct { Elemtype stack[MAXNUM]; int top; } sqstack; 鉴于C语言中数组的下标约定是从0开始的,因而使用C语言的一维数组作为栈时,应设栈顶指针top=-1时为空栈。 top始终指示当前栈顶的位置。 (2)入栈操作 int push(sqstack *s, Elemtype x) {/*将元素x插入到栈s中,作为s的新栈顶*/ if(s-top=MAXNUM-1) return FALSE; /*栈满*/ s-top++; s-stack[s-top]=x; return TRUE; } 两栈共享邻接空间 假设两个栈共享一维数组stack[MAXNUM],则可以利用栈的“栈底位置不变,栈顶位置动态变化”的特性,两个栈底分别为-1和MAXNUM,而它们的栈顶都往中间方向延伸。 链栈:栈的链式存储结构称为链栈 数制转

文档评论(0)

1亿VIP精品文档

相关文档