您 12 岁,就看算法书了,赞一个。
请问您数组和链表都写了程序了么?
这个展开说比较多,简单理解,栈stack就是LIFO(Last In First Out),先进后出。与FIFO先进先出相对。(注:广义上的队列不一定是先进先出的,只是说只能在队头删除和队尾插入。FIFO只是队列中的一种。)
LIFO就像一叠盘子一样,我们一般只会从最上面取盘子,那么如果中途没有取出的话,第一张放下去的盘子就会是最后一张拿出来的盘子。其实就是这么简单。
系统栈一般与局部变量和函数调用有关。函数在底层原理上是地址跳转到函数所对应的内存块来实现的,但是跳转后还需要回到caller本身,所以需要记录栈帧,其中最重要的一个操作就是记录下caller本身的地址,也就是函数返回之后要返回到哪里。函数调用也是一个典型的LIFO过程,最早调用的(也即最浅的)函数总是最后退出,因此使用栈这样的LIFO结构就是一件很自然的事情了。
看看视频吧: https://www.bilibili.com/video/BV1v4411n7hg
如果真喜欢,就好好的学文化课,将来考一个好大学,在大学里面学不香吗?现在学习这个如果不是为了打比赛的话,其实我觉得是在浪费事件