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

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

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

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

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

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

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

看看视频吧: https://www.bilibili.com/video/BV1v4411n7hg

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