Loading article content
栈(Stack) 是一种 先进后出(FILO, First In Last Out) 的数据结构,它的特点是:元素只能在表的一端被操作。
想象一个 薯片桶:
这就是 “先进后出” 的概念。
栈即是一个薯片桶。
而在数据结构的术语里:
此外:
这便是栈的概念。
调用栈(Call Stack) 是程序在运行时管理函数调用的一种机制,它依赖栈的 “先进后出” 规则来保证函数能够正确返回。
想象你打电话问问题:
这次,C 找到了答案,他先告诉 B;
B 再将答案告诉 A;
最后 A 将答案告诉你。
这里的顺序就是 调用栈的行为:
而在程序中:
这样,程序便可以在函数嵌套调用时,确保每个函数都能完成并正确返回到调用点。