栈的顺序存储结构---顺序栈.docVIP

  • 15
  • 0
  • 约 13页
  • 2016-07-30 发布于湖北
  • 举报
3.2 栈的顺序存储结构---顺序栈 栈的顺序存储结构简称顺序栈,它是运算受限的顺序表。顺序栈的存储结构是:利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置。 3.2.1 顺序栈的类型定义 类似于顺序表,用一维数组描述顺序栈中的数据元素的存储区域,并预设一个数组的最大空间。描述顺序栈的通常的习惯做法是以top=0表示空栈,鉴于C语言中数组的下标约定是从0开始,则当以C作描述语言时,如此设定会带来很大不便;另一方面,由于栈在使用过程中所需最大空间的大小很难估计,因此,一般来说,在初始化设空栈时不应限定栈的最大容量。一个较合理的做法是:先为栈分配一个基本容量,然后在应用过程中,当栈的空间不够使用时再逐段扩大。为此,可设定两个常量:STACKCSL(存储空间初始分配量)和STACKZL(存储空间分配增量)。下面给出顺序栈的类型定义: #includestdlib.h #define STACKCSL 64 /*顺序栈存储空间初始分配量*/ #define STACKZL 8 /*顺序栈存储空间分配增量*/ typedef int ElemType; /*栈元素的数据类型定义,它可以是任意的,具体问题时只需根据需要修改本定义语句即可*/ typedef struct { ElemType *top; /*栈顶指针*/ ElemTy

文档评论(0)

1亿VIP精品文档

相关文档