本节将介绍一个重要的编程概念——调用栈(call stack) 。调用栈不仅对编程来说很重要,使用递归时也必须理解这个概念。
假设你去野外烧烤,并为此创建了一个待办事项清单——一叠便条。
本书之前讨论数组和链表时,也有一个待办事项清单。你可将待办事项添加到该清单的任何地方,还可删除任何一个待办事项。一叠便条要简单得多:插入的待办事项放在清单的最前面;读取待办事项时,你只读取最上面的那个,并将其删除。因此这个待办事项清单只有两种操作: 压入(插入)和弹出(删除并读取)。
下面来看看如何使用这个待办事项清单。
这种数据结构称为栈。栈是一种简单的数据结构,刚才我们一直在使用它,却没有意识到!