顺序栈的函数源码
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
/*
功能:顺序栈函数的使用
栈的数据只能够通过栈顶去操作
顺序栈是通过创建一个管理结构体的方式,去管理一个数组
管理结构体中包含:指向数组首地址的指针*stack_arr, 数组的大小size, 栈顶相对于栈底的偏移量top(起始为-1,满为size-1)
在顺序栈中:我们主要讨论顺序栈的 初始化,栈空,栈满,入栈,出栈,遍历
*/
typedef int DATATYPE;
typedef struct BOSS //创建顺序栈的管理结构体
{
DATATYPE *staff_arr; //定义一个指向数组首地址的指针
DATATYPE size; //定义数组的最大长度
DATATYPE top; //定义栈顶相对于栈底的偏移量(起始为-1,满为size-1)
}Boss, *Boss_p; //为管理结构体创建一个别名,和指针类型别名
Boss_p init(DATATYPE size); // 1.初始化管理结构体
bool is_empty(Boss_p s); // 2.栈空判断
bool is_full(Boss_p s); // 3.栈满判断
bool push(Boss_p s, DATATYPE n); // 4.顺序栈入栈
bool pop(Boss_p s, DATATYPE *n); // 5.顺序栈出栈
void display(Boss_p s); // 6.顺序栈的遍历
int main(int argc, char const *argv[])
{
/*int n,temp;
Boss_p boss = init(10);