首页后端开发PythonPython实现一个简单的栈结构

Python实现一个简单的栈结构

时间2023-10-21 15:20:03发布访客分类Python浏览887
导读:基于list来实现一个栈:class SimpleStack: def __init__(self : self.__stack: list = [] ​ def __iter__(self :...

基于list来实现一个栈:

class SimpleStack:
    def __init__(self):
        self.__stack: list = []
​
    def __iter__(self):
        return SimpleStackIterator(self)
​
    def __len__(self):
        return len(self.__stack)
​
    def __getitem__(self, index):
        if index >
    = len(self.__stack):
            return None
        return self.__stack[index]
​
    def pop(self):
        if len(self.__stack) = 0:
            return None
        return self.__stack.pop()
​
    def push(self, item):
        return self.__stack.append(item)

定义一个栈的迭代器,实现对栈进行迭代,但不弹出栈中的元素

class SimpleStackIterator:
    def __init__(self, iterable: SimpleStack):
        self.__iterable = iterable
        self.__len = len(iterable)
        self.__current = 0
​
    def __iter__(self):
        return self
​
    def __next__(self):
        while True:
            if self.__current >
    = self.__len:
                raise StopIteration
            ele = self.__iterable[self.__current]
            self.__current += 1
            return ele

具体使用:

stack_size = 5
stack = SimpleStack()
​
for i in range(stack_size):
    stack.push(i)
​
for i in iter(stack):
    print(i)
​
for i in range(stack_size):
    ele = stack.pop()
    print(ele)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Python实现一个简单的栈结构
本文地址: https://pptw.com/jishu/504600.html
Python中Matplotlib在IDE绘图时报MatplotlibDeprecationWarning错误信息 Vue学习笔记之Vue项目启动gyp ERR! find Python

游客 回复需填写必要信息