zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    VC编译器
    位域
    位域2
    函数调用时刻的堆栈情况
    字节对齐2
    Python学习笔记(6)while循环、while嵌套
    Python学习笔记(7)字符串Str
    Python学习笔记(3)输出、输入、输出输入综合小练习
    Python学习笔记(1)Python介绍、解释器、第一个python程序、注释
    Python学习笔记(4)运算符、运算符小练习
  • 原文地址:https://www.cnblogs.com/Jesee/p/13070681.html
Copyright © 2011-2022 走看看