[栈与队列]: 为啥叫栈?当插入和删除操作都在链表的一端进行时,它表现出先进后出的特性,为栈;

[栈与队列]: 为啥叫栈?当插入和删除操作都在链表的一端进行时,它表现出先进后出的特性,为栈; 

栈这个名字来源于我们日常生活中的一个场景——堆叠盘子。想象一下,我们在洗碗后,把干净的盘子一个一个堆放起来,放的时候总是把新的盘子放在最上面,而取用时,总是先取最上面的盘子。这就形成了一个“后进先出”(Last In First Out, LIFO)的顺序。

在计算机科学中,栈这种数据结构也是这样的工作方式:

  1. 插入操作(压栈):就像我们把盘子堆起来,新的元素总是被放在栈的最顶部。
  2. 删除操作(出栈):当我们需要取出元素时,总是先取出最顶部的元素,也就是最后被放入的那个。

因为这种操作方式就像是在堆叠物品,所以形象地称之为“栈”。每次操作都是在栈顶进行,就像我们只能看到堆叠物品的顶部一样,这也体现了栈的另一个特点——只有栈顶元素是可见的,其余元素都被“压”在下面。

在程序设计中,栈被广泛应用于以下场景:

  • 函数调用:每当函数被调用时,当前的执行状态(比如返回地址和局部变量)会被保存在栈上;当函数返回时,这些状态会从栈上弹出。
  • 表达式求值:算术表达式的解析和求值经常使用栈来处理操作数和操作符。
  • 撤销操作:图形编辑器或其他软件中的撤销功能常常通过栈来实现,记录操作步骤,撤销时就是从栈中弹出操作。
  • 内存管理:在许多编程语言中,局部变量的分配是通过栈来管理的。

因此,“栈”这个名称直观地反映了它的操作特性和使用方式。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值