zoukankan      html  css  js  c++  java
  • 栈的python实现

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

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

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

    特点:后进先出

     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()
  • 相关阅读:
    filebeat6.2.3收集多个日志源 多个topic输出
    使用 INSERT 和 SELECT 子查询插入行
    Filebeat的架构分析、配置解释与示例
    struts1 logic标签的使用
    HDFS之一:hdfs命令行操作
    SQL子查询
    IE6动态插入option
    (转)CSS 圆角背景与三角形
    javascript 测试工具abut发布
    javascript天然的迭代器
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/11648161.html
Copyright © 2011-2022 走看看