数据结构——【用链表实现栈代码展示】


class Node:
    def __init__(self, val):
        self.val = val
        self.head = None


class Stack:
    def __init__(self):
        self.head = None
        self.len = 0

    def push(self, val):
        newNode = Node(val)
        newNode.next = self.head
        self.head = newNode
        self.len += 1

    def pop(self):
        if self.empty():
            return "Stack is empty"
        val = self.head.val
        self.head = self.head.next
        self.len -= 1
        return val

    def top(self):
        if self.empty():
            return "Stack is empty"
        return self.head.val

    def size(self):
        return self.len

    def empty(self):
        return self.len == 0


def Test():
    stk = Stack()
    stk.push(1)
    stk.push(2)
    stk.push(6)
    stk.push(5)
    stk.pop()
    while not stk.empty():
        print(stk.top())
        stk.pop()


Test()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值