数据结构栈的实现

本文介绍了栈的基本概念,如先进后出的特性,并详细阐述了如何使用C语言实现栈的结构声明、初始化、入栈、出栈、判断栈是否为空、取栈顶的值以及销毁栈的过程,通过实例展示了栈的操作。
摘要由CSDN通过智能技术生成

栈的概念

栈是一种线性表,插入数据的一端叫栈顶,另一端叫栈底。
入栈:数据从栈顶进入栈中
出栈:数据从栈顶删除
所以,栈的特点就是先进后出,也可以说后进先出。

入栈图
在这里插入图片描述
出栈图
在这里插入图片描述
根据栈先进后出的性质,我们来实现一个简单的栈。

栈的结构声明

typedef int STDataType;

struct Stack
{
   
	//存放数据的空间
	STDataType* data;
	//栈顶位置
	size_t top;
	//栈的容量
	size_t Cacpcity;
}ST;

初始化

初始化很简单,我们让data指向的空间为NULL,顶部位置从0开始,每插入一个数据就+1。

//初始化
void StackInto(ST* ST)
{
   
	ST->data = NULL;
	ST->top = 0;
	ST->Cacpcity = 0;
}

在这里插入图片描述
我们可以看到初始化成功了。

数据入栈

栈初始化好后,我们就要把数据插入

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值