学习目标:
线性表例题 栈的基本操作
学习内容:
例题:
栈的基本操作和基本概念
学习时间:
2021.4.1
8:00到1:00
学习产出:
顺序栈定义
//顺序栈定义
typedef struct
{
int data[maxSize];
int top;
}SqStack;
链栈结点定义;
//链栈结点定义
typedef struct LZNode
{
int data;
struct LNode* next;
}LZNode;
顺序表队列定义:
//顺序表队列定义
typedef struct
{
int data[maxSize];
int front;
int rear;
}SqQueue;
队结点定义:
//队结点定义
typedef struct QNode
{
int data;
struct QNode* next;
}QNode;
链队类型定义:
//链队类型定义
typedef struct
{
QNode* front;
QNode* rear;
}LiQueue;
初始化顺序栈;
//初始化顺序栈
void initStack(SqStack& st)
{
st.top = -1; //将指针设置为-1 可以避免浪费一个元素空间(相比于=0)
}
判断栈空:
//判断栈空
void isEmpty(SqStack &st)
{
if (st.top = -1)
return -1;
else
return 0;
}
参考书目
《2022数据结构高分笔记》 ——率辉