1.简介:
栈是一种后进先出的数据结构(LIFO=>Last In First Out),这种数据结构在计算机中有着很多应用,如IDE中的Undo(撤销)操作,系统调用的系统栈等。
2.栈的基本操作流程:
入栈:元素进入栈,如图中的1为当前第一个栈内的元素
出栈:当栈顶元素(最后进入栈的元素)从栈中丢弃
3.栈的基本应用:
1.Undo操作:每次操作产生的元素会进入进入栈,当操作失误需要撤销操作时,会将最后进入栈的元素从栈中抛出,例如图中,先写了沉迷,后又写了学习,两次操作的元素都会进入栈中,而当我错误操作将无法打成了不法,就需要用到undo操作,这时就需要从栈顶将不法弹出,这就是编辑器撤销操作的基本实现
Undo操作示意图2.系统栈:系统栈是用来记录程序调用时的操作过程
程序调用时系统栈示意图当函数A运行到A2时,需要执行函数B,这时系统栈会记录当前位置也就是A2,接着运行函数B,当函数B运行到B2时需要执行函数c,这时系统栈又会记录B2,最后运行函数c,当函数c运行结束,这时系统需要知道接下来的操作,这时系统就会从系统栈中获取到B2,系统会执行函数B,同样的系统最后会执行A2后的代码,这就是程序调用时的系统栈的作用
参考:
慕课网视频
网友评论