第3章 栈和队列.pptVIP

  • 3
  • 0
  • 约8.21千字
  • 约 60页
  • 2021-12-08 发布于辽宁
  • 举报
01/06/2002 数据结构讲义 第3章 栈和队列 3.1 栈 栈的定义及基本运算 栈的存储实现和运算实现 3.1.1 栈的定义及基本运算 栈是限制在表的一端进行插入和删除的线性表。允许插入、删除的这一端称为栈顶,另一个固定端称为栈底。当表中没有元素时称为空栈。 右图所示栈中有三个元素, 进栈的顺序是a1、a2、a3,当 需要出栈时其顺序为a3、a2、 a1,所以栈又称为后进先出的 线性表(Last In First Out), 简称 LIFO表。 3.1.2 栈的存储实现和运算实现⒈顺序栈 栈中的数据元素用一个预设的足够长度的一维数组来实现:datatype data[MAXSIZE],栈底位置可以设置在数组的任一个端点,而栈顶是随着插入和删除而变化的,用一个int top 来作为栈顶的指针,指明当前栈顶的位置,将data和top封装在一个结构中,顺序栈的类型描述如下: #define MAXSIZE 1024 typedef struct {datatype data[MAXSIZE]; int top; }SeqStack; 定义一个指向顺序栈的指针: SeqStack *s; 通常链栈用单链表表示,因此其结点结构与单链表的结构相同: typedef struct node { datat

文档评论(0)

1亿VIP精品文档

相关文档