赞
踩
任务描述
本关任务是实现 step1/SeqStack.cpp 中的SS_IsFull
、SS_IsEmpty
、SS_Length
、SS_Push
和SS_Pop
五个操作函数,以实现判断栈是否为满、是否为空、求栈元素个数、进栈和出栈等功能。
相关知识
栈的基本概念
栈是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算,这一端被称为栈顶。栈既可以采用顺序存储,也可以采用链接存储来实现。下面给出了一种基于顺序存储的栈的实现方案:
如图 1 所示:该栈存储了 4 个元素 {56,77,15,12} ,其中 12 是栈顶元素。
这种实现方案将栈元素存储在一片连续的空间中,栈相关的三个属性元素data
、top
和max
介绍如下:
data
: 给出栈存储空间的起始地址;top
: 存放栈顶元素的位置编号;max
: 指明栈存储空间中最多可存储的数据元素个数。特别说明:空间的开始地址为
data
,连续空间里的位置编号从data
所指的开始位置起,到该空间的结束位置,编号依次是0,1,2,…,max-1
。在图 1 的示例中max=6
。栈顶元素的位置编号由top
给出。
栈结构的定义(C)
基于data
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。