数据结构中顺序栈的 初始化,栈空,栈满,入栈,出栈,遍历函数源码

本文提供了C语言实现顺序栈的基本操作,包括初始化、判断栈空、栈满、入栈、出栈及栈的遍历。这些源码对于理解和应用数据结构中的栈概念非常有帮助,特别适用于Linux环境下的C编程。
摘要由CSDN通过智能技术生成

顺序栈的函数源码

#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);  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值