Python中的单链表,如何编写pop和push?

时间:2010-01-29 09:30:13

标签: python stack

我正在尝试编写一个从堆栈中使用Push和Pop的类(带有单个链表)。我不知道如何编写推送和弹出功能。我真的需要一个用Python编写的简单示例,其中包含以下函数。

Push
Pop
ifEmpty

2 个答案:

答案 0 :(得分:8)

从Dyno Fu链接的the docs

  

列表方法使它变得非常容易   使用列表作为堆栈,最后一个   添加的元素是第一个元素   检索(“后进先出”)。至   将项添加到堆栈顶部,   使用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]

最后,到check if a list is empty

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

答案 1 :(得分: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