...只能在末端进行插入和删除的操作,所有的函数调用都是通过栈完成的...
发布网友
发布时间:2024-10-03 00:28
我来回答
共2个回答
热心网友
时间:2024-10-19 09:30
有2个问题需要澄清:
1.栈是一种后进先出的数据结构,只能在末端进行插入和删除的操作。应该说成是只能在线性表的一端进行插入和删除。说成末端,就认为的把线性表分成开始端和结束端了。但由于线性表中元素只具有线性关系,并没有明确的起始元素和终止元素。
2.函数调用之所以需要栈,是因为函数执行过程中,还能会嵌套调用其他函数,但无论嵌套调用多少个函数,总是要遵循一个原则:后被调用的函数要先运行完毕,程序要回到上一层函数的调用处继续运行,为了实现这个机制,才设计了栈这种后进先出的数据结构。如果把函数调用看成罗餐盘的话,而把当你去盘子的时候,肯定先取走最后一个罗上去的盘子,那么函数运行结束,函数调用返回就相当于你在取盘子。
热心网友
时间:2024-10-19 09:38
没听过
热心网友
时间:2024-10-19 09:36
有2个问题需要澄清:
1.栈是一种后进先出的数据结构,只能在末端进行插入和删除的操作。应该说成是只能在线性表的一端进行插入和删除。说成末端,就认为的把线性表分成开始端和结束端了。但由于线性表中元素只具有线性关系,并没有明确的起始元素和终止元素。
2.函数调用之所以需要栈,是因为函数执行过程中,还能会嵌套调用其他函数,但无论嵌套调用多少个函数,总是要遵循一个原则:后被调用的函数要先运行完毕,程序要回到上一层函数的调用处继续运行,为了实现这个机制,才设计了栈这种后进先出的数据结构。如果把函数调用看成罗餐盘的话,而把当你去盘子的时候,肯定先取走最后一个罗上去的盘子,那么函数运行结束,函数调用返回就相当于你在取盘子。
热心网友
时间:2024-10-19 09:39
没听过