学妹跑过来问我:学长!什么是栈啊?

栈是一种遵循后进先出(LIFO)原则的数据结构,常用于算法中。通过堆叠书籍的例子,形象地展示了栈的操作方式,即最后放入的元素最先取出。栈在计算机科学中用于数据的存储和处理,如旅客入住登记和退房的类比,体现了其插入和删除的特点。栈在实际应用中,如函数调用、表达式求解等方面发挥重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

何为栈?

我第一次听说栈这个东西的时候,也会迷惑!栈是什么?

何谓道?一阴一阳谓之道!
何为栈?后进先出谓之栈!

客栈?还是那种岸边栈道?而在算法中也有一个叫栈的东西,那这个东西有什么用?

我们先去查查字典: zhan 第四声 栈

在这里插入图片描述
可以看到,有一个解释是,用来存储货物,或者住宿的房屋,这就有点像我们计算机里用力存储数据有点类似了,旅客住宿的登记和退房好像也有点像数据的插入和删除是不?,但是还很抽象,但是又和我们所说的栈有区别

啥区别?我们再去搜一下他的英文 栈 stack
在这里插入图片描述
这里外国人所说的栈stack原来是有一堆一叠的意思在里面,我图片里故意用几个红色的箭头指向了一摞书,这就比较形象了!!!

这就是一摞书

在这里插入图片描述

在这一堆书里我想拿黑色那本怎么拿?我们应该要先把上面书再拿走,才能拿到黑色的书吧!(这里肯定有人和我杆,我抽出来不行吗?行!你抽风都行)

那这种取书的方法就是我们栈里所说的“先进后出”或者是“后进先出”的道理了(LIFO:last in first out)!

黑色的书(2)比(3,4,5,6,7)号书都要先放的,但是取出来的时候,要先取最后放的书(7)再去倒数第二放的书(6)再取(5)依次取出,才能拿到(2),这就是江湖人称的“后进先出”,也是栈的一个特点
在这里插入图片描述
那我们把这些书简单化就成了这个样子了

在这里插入图片描述
所以以后说到栈你能第一时间想到“后进先出”就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值