用python实现基础的数据类型

用python模拟栈的实现
还有其他的数据类型:队列,树,堆,图如何用python来实现呢

# 这个类其实就是为了模拟栈的运行方式而编写的,并没有什么实际性的作用
class Stack:
    def __init__(self, start=[]):
        # 这个属性就是栈本身,虽然在python中他并没有内存空间的限制
        self.stack = []
        
        # 模拟栈的运行方式将实例化类时传入的参数一个一个的压入(push)栈(self.stack)中,在实际使用中与 self.stack = start 作用是相同的
        for x in start: # 先写对象再写如何实现该对象
            self.push(x)

    def isEmpty(self):
        return not self.stack
   
    def push(self, obj):
        self.stack.append(obj)
    
    # 弹栈操作(pop)
    def pop(self):
        if not self.stack:
            print('警告:栈为空!')
        else:
            return self.stack.pop()

    def top(self):
        if not self.stack:
            print('警告:栈为空!')
        else:
            return self.stack[-1]

    def bottom(self):
        if not self.stack:
            print('警告:栈为空!')
        else:
            return self.stack[0]
        


posted @ 2021-08-05 17:57  索匣  阅读(33)  评论(0编辑  收藏  举报