目录
1.栈的定义
限定仅在表尾进行插入和删除操作的线性表
- 栈顶:允许插入和删除的一端(表尾端)称为栈顶
- 栈底:表头端
- 栈的运算规则:只能在栈顶运算,且访问结点时依照后进先出(LIFO)的原则
2.顺序栈的实现(附源码)
利用顺序存储结构实现的栈,
代码:
/*
* 顺序栈实现
*
* @Author: longbow_nice
* @CreatedTime: 2022/7/12
*
*/
#include<iostream>
#include<string>
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXSIZE 100 //顺序栈可使用的最大存储空间
typedef int SElemType;
typedef int Status;
typedef struct {
SElemType* top;
SElemType* base;
int stacksize;
}SqStack;
//顺序栈初始化
Status InitSqStack(SqStack &S) {
S.base = new SElemType[MAXSIZE];
if (!S.base) {
exit(OVERFLOW);
}
S.top = S.base;
S.stacksize = MAXSIZE;