今天看到一个UI界面使用了栈,养成了写的习惯,但是没有明白后面的道理,自己查了很多资料,发现很多人都在说后进先出,但是也没有比较好的例子和解释,直到遇见了这样的一个说法:
有人可能会觉得,用数组或链表直接实现功能不就行了吗?干吗要引入栈这样的数据结构呢?
栈的引入简化了程序设计的问题,划分了不同关注层次,使得思考范围缩小,更加聚焦于我们要解决的问题核心。
反之,像数组等,因为要分散精力去考虑数组的下标增减等细节问题,反而掩盖了问题的本质。
简单说,栈能够解决的问题,数组也能够解决,但栈本身的功能决定了它能够很轻松的解决了特定的问题,例如说后进先出这样顺序的内容,而数组本身没有这样的功能,实现先进后出的功能是需要花费大量时间和精力的,而栈本身就拥有这样的设计,则会非常简单、便捷,让我们专注于解决问题本身,而不是如何解决问题。
UI界面其实也是这样的顺序,当我们点开一个界面之后,我们需要在这个界面中进行操作,直到我们操作结束,关闭界面之后,才能开始下一个操作,这就是典型的后进先出的例子。
如果想要看其他有关栈方面的内容,可以参考如下链接:
为什么要使用栈这种数据结构 -- 简明现代魔法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)