- 任务描述
-
相关知识
- 栈的基本概念
- 栈结构的定义(C)
- 顺序栈的操作
- 编程要求
- 测试说明
任务描述
本关任务是实现 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)文章来源:https://www.toymoban.com/news/detail-725224.html
基于data
文章来源地址https://www.toymoban.com/news/detail-725224.html
到了这里,关于头歌(C语言)-数据结构与算法-栈的实现-第1关:实现一个顺序存储的栈的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!