吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1909|回复: 1
收起左侧

[Python 转载] 【Python】【笔记】 数据结构:栈类的构造

[复制链接]
hustlzp 发表于 2019-1-15 10:34
[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()方法,会直接在原来的列表里面将元素进行逆序排列,不需要创建新的副本用于存储结果。


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

祈祷者 发表于 2019-2-22 12:40
盯着你的头像看了好长时间      特码的1
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 04:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表