首页 编程教程正文

【Python】【笔记】 数据结构:栈类的构造

piaodoo 编程教程 2020-02-22 22:01:15 861 0 python教程

本文来源吾爱破解论坛

[Python] 纯文本查看 复制代码

# 定义一个栈(Stack)类,用于模拟一种具有后进先出(LIFO)特性的数据结构。
# 至少需要有以下方法:
# 方法名
# 	isEmpty()
# 		判断当前栈是否为空(返回 True 或 False)
# 	push()
# 		往栈的顶部压入一个数据项
# 	pop()
# 		从栈顶弹出一个数据项(并在栈中删除)
# 	top()
# 		显示当前栈顶的一个数据项
# 	bottom()
# 		显示当前栈底的一个数据项

class Stack:
    def __init__(self,start = []):
        self.stack = []
        for x in start:
            self.push(x)
    def isEmpty(self):
        # if len(self.stack) == 0:
        #     return True
        # else:
        #     return False
        return not self.stack
    def push(self,x):
        self.stack.append(x)
    def pop(self,x):
        # self.stack.pop()
        if self.isEmpty():
            print('警告:栈为空!')
        else:
            return self.stack.pop()
    def top(self):
        if self.isEmpty():
            print('警告:栈为空!')
        else:
            return self.stack[-1]
    def bottom(self):
        if self.isEmpty():
            print('警告:栈为空!')
        else:
            return self.stack[0]
    def print_stack(self,reversed = False):
        if reversed == False:
            print(self.stack)
        else :
            self.stack.reverse()
            print(self.stack)
            self.stack.reverse()
        # Python的list.reverse()方法,会直接在原来的列表里面将元素进行逆序排列,不需要创建新的副本用于存储结果。


本帖被以下淘专辑推荐: · Python优质笔记整理(学习起来)|主题: 18, 订阅: 112

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7311.html

搜索