Python中单链表,如何实现弹出和推入?

1 投票
2 回答
5290 浏览
提问于 2025-04-15 18:37

我正在尝试编写一个类,这个类要使用栈的推入(Push)和弹出(Pop)功能,栈是用单链表实现的。我不太确定该怎么写推入和弹出的函数。我真的需要一个简单的Python示例,包含以下功能。

Push
Pop
ifEmpty

2 个回答

3

这是最简单的栈类:

class stack(list):
    def push(self,item):
        self.append(item)
    def isEmpty(self):
        return not self

>>> a = stack()
>>> a.push(1)
>> a.isEmpty()
False
>>> a.pop()
1
>>> a.isEmpty()
True
8

来自Dyno Fu链接的文档

列表的方法让我们很容易把列表当作栈来用。在栈里,最后放进去的元素会第一个被取出来,这种方式叫做“后进先出”。如果想在栈顶添加一个元素,可以用append()。如果想从栈顶取出一个元素,可以用pop(),而不需要指定具体的索引。举个例子:

>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]

最后,要检查一个列表是否为空

>>> my_list = []
>>> not my_list
True

撰写回答