【Unity】为什么要用栈?

今天看到一个UI界面使用了栈,养成了写的习惯,但是没有明白后面的道理,自己查了很多资料,发现很多人都在说后进先出,但是也没有比较好的例子和解释,直到遇见了这样的一个说法:

有人可能会觉得,用数组或链表直接实现功能不就行了吗?干吗要引入栈这样的数据结构呢?

  • 其实这和我们明明有两只脚可以走路,干吗还要乘汽车、火车、飞机一样。理论上,陆地上的任何地方,你都是可以靠双脚走到的,可那需要多少时间和精力呢?我们更关注的是到达的效率,而不是如何去的结果

栈的引入简化了程序设计的问题,划分了不同关注层次,使得思考范围缩小,更加聚焦于我们要解决的问题核心

反之,像数组等,因为要分散精力去考虑数组的下标增减等细节问题,反而掩盖了问题的本质。

简单说,栈能够解决的问题,数组也能够解决,但栈本身的功能决定了它能够很轻松的解决了特定的问题,例如说后进先出这样顺序的内容,而数组本身没有这样的功能,实现先进后出的功能是需要花费大量时间和精力的,而栈本身就拥有这样的设计,则会非常简单、便捷,让我们专注于解决问题本身,而不是如何解决问题。

UI界面其实也是这样的顺序,当我们点开一个界面之后,我们需要在这个界面中进行操作,直到我们操作结束,关闭界面之后,才能开始下一个操作,这就是典型的后进先出的例子。

如果想要看其他有关栈方面的内容,可以参考如下链接:

为什么要使用栈这种数据结构 -- 简明现代魔法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夜梦说开发(VR)

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值