Единый связанный список в Python, как написать pop и push? - PullRequest
1 голос
/ 29 января 2010

Я пытаюсь кодировать класс, который использует Push и Pop из стека (с одним связанным списком). Я не уверен, как писать функции push и pop. Мне действительно нужен простой пример, написанный на Python со следующими функциями.

Push
Pop
ifEmpty

Ответы [ 2 ]

8 голосов
/ 29 января 2010

Из документов , с которыми 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
3 голосов
/ 29 января 2010

А вот самый простой класс стека:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...