博客
关于我
python 之栈的实现
阅读量:795 次
发布时间:2023-03-06

本文共 1178 字,大约阅读时间需要 3 分钟。

#!/usr/bin/env python# ---------------------------------------# author : Geng Jie# email  : gengjie@outlook.com# Create Time: 2016/3/16 23:38# ----------------------------------------class Node:    def __init__(self, value):        self.value = value        self.next = Noneclass Stack:    def __init__(self):        self.top = None    def push(self, value):        node = Node(value)        node.next = self.top        self.top = node    def pop(self):        node = self.top        self.top = node.next        return node.valueif __name__ == '__main__':    stack = Stack()    # for i in range(10):    #     stack.push(i)    #     # while stack.top:    #     #     print(stack.pop())    exp = '{a * [x/(x+y)]}'    for c in exp:        if c in '{[(':            stack.push(c)        elif c in '}])':            v = stack.top.value            if c == '}' and v != '{':                raise Exception('failed')            if c == ']' and v != '[':                raise Exception('failed')            if c == ')' and v != '(':                raise Exception('failed')            stack.pop()    if stack.top is not None:        raise Exception('failed')    print('ok')

  

转载地址:http://wdofk.baihongyu.com/

你可能感兴趣的文章
Python 中的列表理解和 lambda
查看>>
Python 中的多层for in嵌套循环使用
查看>>
Python 中的多线程(01/4)
查看>>
Python 中的多进程(01/2):简介
查看>>
Python 中的多进程(02/2):进程之间的通信)
查看>>
Python 中的字符串、列表、元组和字典数据类型的特点和使用场景
查看>>
Python 中的属性访问器是什么?如何使用 @property 装饰器?
查看>>
Python 中的带宽限制
查看>>
Python 中的机器学习简介:多项式回归
查看>>
python读取grib2数据_用Python加载grib2文件
查看>>
Python 中的注意点_s2
查看>>
Python读取Excel的几种工具包(附Demo)
查看>>
Python 中的生成器是什么?
查看>>
Python 中的离线语音转文本
查看>>
Python读写json文件的简单实现
查看>>
Python 中的线程
查看>>
Python 中的继承机制是什么样的?
查看>>
python读写excel之xlrd&xlwt&xlutils组合
查看>>
Python 中的装饰器是什么?
查看>>
Python 中的装饰器是如何工作的,有哪些实际应用场景?
查看>>