一、栈(原理:FILO||LIFO)
实现思想:利用静态顺序表实现栈
1.定义结构体,包含值和数组还有栈顶成员变量记录栈内元素个数(栈主要就是对栈顶元素的操作)
2.初始化、销毁(比较简单看代码理解)
3.增操作:先判断栈是否已满,再在栈顶进行添加;(只能从栈顶添加)
4.删操作:先判断栈是否为空,再从栈顶进行删除;(只能从栈顶删除)
5.返回栈顶元素:先判断栈内是否有元素,直接返回栈顶元素就可以;
6.判断栈是否为空和返回栈内元素个数(比较简单看代码理解)
具体实现代码:
#pragma once
#include <assert.h>
#define MAX 100
typedef int SDataType;
//利用静态顺序表实现栈
typedef struct Stack
{
SDataType val;
SDataType array[MAX];
int top;
} Stack;
//初始化
void StackInit(Stack* stack)
{
stack