码迷,mamicode.com
首页 > 编程语言 > 详细

栈的python实现

时间:2019-10-10 15:54:12      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:nbsp   span   erro   bsp   self   return   线性表   pytho   作用   

栈,又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。

向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

栈按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。

特点:后进先出

技术图片

 

 python代码实现如下:

class Stack(object):
    # 栈的初始化
    def __init__(self):
        self.items = []

    # 判断栈是否为空
    def is_empty(self):
        return self.items == []

    # 添加一个元素到栈中[入栈]
    def push(self, item):
        self.items.append(item)

    # 删除栈中的一个元素[出栈]
    def pop(self):
        if self.items:
            self.items.pop()
        else:
            raise LookupError("stack is empty")

    # 返回栈的顶部元素[最新元素]
    def top(self):
        return self.items[-1]

    # 返回栈的元素的个数
    def size(self):
        return len(self.items)


stack = Stack()

栈的python实现

标签:nbsp   span   erro   bsp   self   return   线性表   pytho   作用   

原文地址:https://www.cnblogs.com/hszstudypy/p/11648161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!