栈:
栈(stack),也称为堆栈,是一种容器。可存入数据、访问元素、删除元素,它的特点是只允许在容器的一端(top)进行数据添加(push)和数据输出(pop)操作。没有位置概念,保证了任何时候操作的元素都是最后一次存入的元素,确定了一种默认的访问顺序。由于栈数据结构只允许在一端进行数据操作,因而按照后进先出(LIFO,Last In First Out)的原理运行。
注:列表或者链表决定了数据的存储方式,栈和队列决定了数据的存储方式,两者都能实现栈 。
常用操作:
- push(item):添加一个元素,压栈。
- pop():弹出一个元素,出栈。
- peek():弹出栈顶元素。
- is_empty():判断是否为空。
- size():返回栈元素个数。
Python实现:
# -*- coding: utf-8 -*-
class Stack(object):
"""利用列表实现栈"""
def __init__(self):
self.__list = []
def push(self, item):
"""添加一个元素item到栈顶"""
self.__li