zoukankan      html  css  js  c++  java
  • python实现stack并测试

      栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。

    这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新

    元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元

    素删除掉,使其相邻的元素成为新的栈顶元素。

      特点:后进先出(LIFO)

      使用场景:平衡符号的判断,行编译器等,后续会有详解。

      代码实现:

    class Stack:
            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)
    
    s = Stack()
    
    print("stack test start:")
    s.push(4)
    s.push('dog')
    s.push(True)
    s.push(8.4)
        
    print("stack size:    %d " % s.size())
    print("stack element: %s" % s.peek())
    print("del element:   %s" % s.pop())
    print("stack size:    %d" % s.size())
  • 相关阅读:
    set, unordered_set模板类
    C/C++ Bug记录
    win10远程连接
    C/C++缓冲区刷新问题
    hihocoder1711 评论框排版[并查集+set]
    makefile
    Virtual Table
    粤语
    xilinx SDK开发 GPIO使用API总结
    基于zynq 7020的串口UART中断实验
  • 原文地址:https://www.cnblogs.com/dylancao/p/8057934.html
Copyright © 2011-2022 走看看