一起talk C栗子吧(第十六回:C语言实例--栈一)


各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例。闲话休提,

言归正转。让我们一起talk C栗子吧!


看官们,上一回中咱们说的是双向链表的例子,这一回咱们说的例子是:栈。


什么是栈?我们听过龙门客栈,你这个是哪家客栈?我还没有说,台下已经有客官在问了。看官们,栈是

类似我们在前面几回中说过的链表,它也是用来存放数据的一种抽象的数据结构。因为比较抽象,咱们还

是举个现实生活中的例子来说明吧。


我们出去旅游时通常会拿一个行李箱存放自己的物品,比如衣服,鞋子电脑,相机等。出发前,我们会把

这些东西依次放到行李箱中,首先会把不容易压坏的物品放到箱底,比如衣服。然后把容易压坏的物品放

到上面,比如电脑和相机。当我们到达目的地时,会取出行李箱中的物品。首先拿出放在箱子上面的电脑

和相机,最后拿出放在箱子底部的衣服。大家看看,拿出物品的顺序和存放物品的顺序正好相反。最后放

进去的电脑和相机等易压碎的物品最先拿出来,最先放进去的衣服等不易压碎的物品最后拿出来。这个行

李箱就好比一个存放数据的栈,箱子里面的物品好比数据,从箱子里拿物品好比操作数据,拿物品要先拿

最后存放的物品,操作数据也要先操作最后放到栈中的数据。就是说最先存放到栈中的数据最后被拿出。

这便是栈的特点:先进后出。


看官们,和链表一样,栈也有两种实现方式:顺序存放和链式存放。我们会分别举例子说明。栈有两个基

本的操作:出栈和入栈。入栈就是把数据存放到栈中,出栈就是把数据从栈中拿出来。入栈和出栈这两个

操作要符合栈“先进后出”的特点。


看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击链接下载使用。关于代码中

有一些需要注意的地方和大家说一下:

  • 栈的顺序存储是通过一个全局数组实现的,栈的大小就也就是数组的长度,可以自己定义。
  • 入栈时要确认栈是否已经満了,不然会有溢出。我在代码中多放了一个空间可以避免溢出。
  • 出栈时要确认栈是否已经空了,不然会有溢出。我在代码中通过多放了一个变量size可以避免溢出。


各位看官,关于栈的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值