自学内容网 自学内容网

python数据结构基础(5)

本章学习的是栈.它最突出的特点是后进先出,与队列恰好相反,但其在实现过程中与队列异曲同工.

栈的基本结构:

栈是按照有序的后进先出规则运行的一种结构,其插入和删除操作均在栈项进行这一点区别于队列的队尾进队,队头出队.

栈一般包括入栈和出栈操作,且有一个顶指针(top)用于指示栈项位置.

栈的实现:

使用python实现栈,包括如下几种方法.

__init__():初始化方法,用于创建一个空栈

__len__():返回栈的长度

isempty():返回栈是否为空

push():向栈压入一个元素.

gettop():获取栈顶元素

pop():执行一次出栈操作,返回弹出的元素值

示例代码如下:

class Stack:
    def __init__(self):
        # 创建空栈
        # 初始化一个空列表来存储栈中的元素
        self.data = []

    def __len__(self):
        # 返回栈中元素的数量
        # 这是内置的len函数的自定义实现,允许使用len(stack)来获取栈的大小
        return len(self.data)

    def isempty(self):
        # 检查栈是否为空
        # 如果栈中没有元素,返回True,否则返回False
        return len(self.data) == 0

    def push(self, d):
        # 向栈中添加一个元素
        # 将元素d添加到列表的末尾,这模拟了栈的入栈操作
        self.data.append(d)

    def gettop(self):
        # 获取栈顶元素
        # 如果栈为空,返回提示信息'Stack is empty'
        # 否则返回列表的最后一个元素,即栈顶元素
        if self.isempty():
            return 'Stack is empty'
        return self.data[-1]

    def pop(self):
        # 移除栈顶元素并返回它
        # 如果栈为空,返回提示信息'Stack is empty'
        # 否则移除并返回列表的最后一个元素,即栈顶元素
        if self.isempty():
            return 'Stack is empty'
        return self.data.pop()


原文地址:https://blog.csdn.net/pianmian1/article/details/143577969

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!