weixin_46836893
Bug制造机·代码一姐~
2021-04-05 12:45
采纳率: 50%
浏览 150

【算法方面的一些问题】 本人女,12岁,坐标北京~ Enmm…最近在看一本算法书(如图一),看到了"

【算法方面的一些问题】 本人女,12岁,坐标北京~ Enmm…最近在看一本算法书(如图一),看到了"栈"的概念,如下图二三四(前面已经看过了"数组"、"链表"以及一些基本的算法知识,理解起来较为简单),然后我就卡在栈这里了,死活看不懂,希望各位大佬可以简单的跟我说说……谢谢啦!
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • SoftwareTeacher
    SoftwareTeacher 2021-04-05 13:02
    已采纳

    您 12 岁,就看算法书了,赞一个。 

    请问您数组和链表都写了程序了么?

    点赞 2 评论
  • include_iostream_
    include_iostream_ 2021-04-05 13:12

    这个展开说比较多,简单理解,栈stack就是LIFO(Last In First Out),先进后出。与FIFO先进先出相对。(注:广义上的队列不一定是先进先出的,只是说只能在队头删除和队尾插入。FIFO只是队列中的一种。)

    LIFO就像一叠盘子一样,我们一般只会从最上面取盘子,那么如果中途没有取出的话,第一张放下去的盘子就会是最后一张拿出来的盘子。其实就是这么简单。

    系统栈一般与局部变量和函数调用有关。函数在底层原理上是地址跳转到函数所对应的内存块来实现的,但是跳转后还需要回到caller本身,所以需要记录栈帧,其中最重要的一个操作就是记录下caller本身的地址,也就是函数返回之后要返回到哪里。函数调用也是一个典型的LIFO过程,最早调用的(也即最浅的)函数总是最后退出,因此使用栈这样的LIFO结构就是一件很自然的事情了。

    点赞 1 评论
  • SoftwareTeacher
    SoftwareTeacher 2021-04-05 17:23
    点赞 1 评论
  • hanliang134
    hanliang134 2021-07-15 09:17

    如果真喜欢,就好好的学文化课,将来考一个好大学,在大学里面学不香吗?现在学习这个如果不是为了打比赛的话,其实我觉得是在浪费事件

    点赞 评论
  • qq_46919160
    惊鸿两面 2021-07-16 13:35

    12岁真的太建议你学奥赛了…信息学奥赛一本通一套三本,很有用。

    点赞 评论

相关推荐