1. 栈的基本概念
1.1 栈的定义
只允许在一端进行插入、删除操作的线性表
1.2 栈的特点
- LIFO:后进先出
- 最先进栈的元素,不一定是最后出栈,只限制了进栈的顺序,没有限制出栈的顺序
1.3 栈的基本说明
- 栈是一种线性表,栈元素具有线性关系,即前驱后继关系
- 栈顶(top):允许插入、删除的一端
- 栈底(bottom):不允许插入、删除的一端
- 空栈:不含任何元素的栈
2. 栈的顺序存储结构
2.1 顺序栈的实现
2.1.1 顺序栈的定义
栈的顺序存储的实现就是顺序栈,利用一组地址连续的存储单元存放自栈底到栈顶的数据元素。
2.1.2 栈的顺序存储类型描述
#define MaxSize 50 //栈中元素的最大个数
typedef struct{
ElemType data[MaxSize]; //用数组实现对栈中元素的存放
int top; //栈顶指针
}SqStack;
2.1.3 顺序栈的基本说明
- 栈空状态:s.top = -1;
- 栈满状态:s.top = MaxSize – 1;
- 元素进栈时:先栈顶指针加一,再送值入栈
- 元素出栈时:先取出栈顶元素,
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/180246.html