Python实现栈的几种方式及其优劣,哪种最适用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3447个文字,预计阅读时间需要14分钟。
想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
https://ost.51cto.com一、栈的概念栈是由一系列对象组成的集合,这些对象遵循后进先出(LIFO)的原则。栈通过一系列对象对象组织,允许在集合的顶端进行插入和删除操作。这些操作通常被称为压栈和出栈。
想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
ost.51cto.com
一、栈的概念栈由一系列对象对象组织的一个集合,这些对象的增加和删除操作都遵循一个“后进先出”(Last In First Out,LIFO)的原则。
在任何时刻只能向栈中插入一个对象,但只能取得或者删除只能在栈顶进行。比如由书构成的栈,唯一露出封面的书就是顶部的那本,为了拿到其他的书,只能移除压在上面的书,如图:
栈的实际应用实际上很多应用程序都会用到栈,比如:
- 网络浏览器将最近浏览的网址存放在一个栈中。每当用户访问者访问一个新网站时,这个新网站的网址就被压入栈顶。这样,每当我们在浏览器单击“后退”按钮时(或者按键盘快捷键 CTRL+Z ,大部分撤销快捷键),就可以弹出当前最近一次访问的网址,以回到其先前访问的浏览状态。
- 文本编辑器通常会提供一个“撤销”机制以取消最近的编辑操作并返回到先前状态。这个撤销操作也是通过将文本的变化状态保存在一个栈中得以实现。
本文共计3447个文字,预计阅读时间需要14分钟。
想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
https://ost.51cto.com一、栈的概念栈是由一系列对象组成的集合,这些对象遵循后进先出(LIFO)的原则。栈通过一系列对象对象组织,允许在集合的顶端进行插入和删除操作。这些操作通常被称为压栈和出栈。
想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
ost.51cto.com
一、栈的概念栈由一系列对象对象组织的一个集合,这些对象的增加和删除操作都遵循一个“后进先出”(Last In First Out,LIFO)的原则。
在任何时刻只能向栈中插入一个对象,但只能取得或者删除只能在栈顶进行。比如由书构成的栈,唯一露出封面的书就是顶部的那本,为了拿到其他的书,只能移除压在上面的书,如图:
栈的实际应用实际上很多应用程序都会用到栈,比如:
- 网络浏览器将最近浏览的网址存放在一个栈中。每当用户访问者访问一个新网站时,这个新网站的网址就被压入栈顶。这样,每当我们在浏览器单击“后退”按钮时(或者按键盘快捷键 CTRL+Z ,大部分撤销快捷键),就可以弹出当前最近一次访问的网址,以回到其先前访问的浏览状态。
- 文本编辑器通常会提供一个“撤销”机制以取消最近的编辑操作并返回到先前状态。这个撤销操作也是通过将文本的变化状态保存在一个栈中得以实现。

