• python实现栈的基本操作


    1.栈:一种特殊的线性表,其实只允许在固定的一端进行插入或删除操作。进行数据插入和删除的一端称为栈顶,另一端称为栈底。不含任何元素的栈称为空栈,栈又称为后进先出的线性表。

    特性栈:后进先出(LILO)特殊线性表
    栈功能:将数据从一种序列改变为另一种序列

    2.顺序栈和顺序表数据成员相同,不同之处:顺序栈的入栈和出栈操作只允许对当前栈顶进行操作

    顺序栈所有的的操作时间复杂度为O(1)
    注意:面试中如果需要用到栈,封装静态栈。

    3.栈结构实现
    栈可以用顺序表实现,也可以用链表实现。

    4.栈的操作
    Stack() 创建一个新的空栈
    push(item) 添加一个新的元素item到栈顶
    pop() 弹出栈顶元素
    peek() 返回栈顶元素
    is_empty() 判断栈是否为空
    size() 返回栈的元素个数

    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):
      """弹出元素"""
        return self.items.pop()
    
      def peek(self):
      """返回栈顶元素"""
        return self.items[len(self.items)-1]
    
      def size(self):
      """返回栈的大小"""
        return len(self.items)
    
    if __name__ == "__main__":
    stack = Stack()
    stack.push("hello")
    stack.push("world")
    stack.push("itcast")
    print stack.size()
    print stack.peek()
    print stack.pop()
    print stack.pop()
    print stack.pop()
  • 相关阅读:
    子类继承父类,必须声明父类的构造函数
    开发识别屏幕方向的应用程序
    PDA智能设备解决方案打包及部署
    Xcode 下cocos-2dx 环境搭建
    PO订单审批拒绝API
    PO订单审批通过API
    Oracle Forms Services Architecture
    《Oracle Applications DBA 基础》- 9
    Useful Articles for the Oracle E-Business Suite Technology Stack for Technical Consultant / DBA [ID
    Understanding and Using HRMS Security in Oracle HRMS
  • 原文地址:https://www.cnblogs.com/Jesee/p/13070681.html
Copyright © 2020-2023  润新知