• python实现栈结构


    # -*- coding:utf-8 -*-
    # __author__ :kusy
    # __content__:文件说明
    # __date__:2018/9/30 17:28
    
    
    class MyStack(object):
        def __init__(self):
            self.stack_list = []
            self.count = 0
    
        # 创建一个栈
        def create_stack(self):
            return self.stack_list
    
        # 栈中添加值
        def push(self, value):
            self.stack_list.insert(0,value)
            self.count += 1
    
        #返回栈顶元素值
        def peek(self):
            if self.count:
                return self.stack_list[0]
    
        # 删除栈顶元素
        def pop(self):
            self.stack_list.pop(0)
            self.count -= 1
    
        # 返回栈是否为空
        def is_empty(self):
            return self.count == 0
    
        #打印栈内容
        def print_all(self):
            for sl in self.stack_list:
                print(sl)
    
    if __name__ == '__main__':
        ms = MyStack()
        ms.create_stack()
        ms.push(1)
        ms.push(2)
        ms.push(3)
        print('栈元素:')
        ms.print_all()
        print('栈顶元素:',ms.peek())
        ms.pop()
        print('栈顶元素删除后:')
        ms.print_all()
        print('栈是否为空:','' if ms.is_empty() else '')
        print('---继续删除元素')
        ms.pop()
        print('---继续删除元素')
        ms.pop()
        print('栈是否为空:','' if ms.is_empty() else '')

    运行结果如下

    C:UserssuneeeAppDataLocalProgramsPythonPython36python.exe E:/wangjz/PyWorkSpace/LearnPython/PY0929/stack.py
    栈元素:
    3
    2
    1
    栈顶元素: 3
    栈顶元素删除后:
    2
    1
    栈是否为空: 否
    ---继续删除元素
    ---继续删除元素
    栈是否为空: 是
    
    Process finished with exit code 0
  • 相关阅读:
    fabric.js 学习
    前端基础回顾
    ubuntu16 mysql 远程连接
    Django rest_framework API 随笔
    django 学习笔记
    vue 返回上一页在原来的位置
    Django mysql 改用pymysql 驱动
    Material-UI
    设置placeholder的样式
    Cookie、session和localStorage、以及sessionStorage之间的区别
  • 原文地址:https://www.cnblogs.com/kusy/p/9732971.html
Copyright © 2020-2023  润新知