【现代程序设计】加分作业1-对Stack的理解

要求:本次加分作业是要阅读这篇文章“ Stack的三种含义 ”,以及文章下方的评论,然后做出总结。

----------------------------------------华丽的分割线-----------------------------------------------

文章简单概括

文章作者从数据结构,代码运行方式和内存区域对Stack进行了论述,文章简单易懂,配图也对解释说明起了很大作用。不得忽视的是文章下的评论对文章的表述不清晰或者错误之处做了指明和修正,对Stack这三方面做了总结。从中我也感受了分享和讨论的精神所带来的积极影响。

1、Stack就是一种后进先出(Last in, first out)的数据结构。以下这张图(来自原文)大概表达了后进先出的概念。也就是最后存放进Stack的,会最先被取出来。

举个例子,洗碗的时候我们将碟子一个个堆放在一起,最晚洗好的放在了最上方,而想要一个个拿出来的时候,就从最上方开始一个个拿下来。这样一种过程,就是后进先出。

2、Stack是调用栈。其实这时候向同一个方面堆积的就是函数或者子程序等等之类的了。

3、Stack是一种内存区域,存放程序运行时的局部的、占用空间确定的数据。而对于不能确定空间大小的数据,一般采用Heap存储。

 

总结

看文章举出3个含义来解释Stack,其实仔细一想,你就会明白。上面3个含义说的其实就是一个意思。对于Stack的理解,只要把握住“后进先出”这个本质的原则就好了。正如文章下方某一个评论者所说“第一种语义是基础,第三种语义是第一种的实现,第二种语义是第三种语义的表现”。

 

阅读感想

阅读一篇好文章,能让人更清晰地明白某个概念或者某个事情的情况,这个事情是非常受益地。将知识分享出来的人是值得称赞的,提出建设性意见、发起有意义讨论的人是值得表扬的。这样一种分享的氛围有助于大家的学习,应当得到提倡。

 

转载于:https://www.cnblogs.com/Lmeng/p/3478910.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值