Указатель головы и следующий указатель в связанном списке в Python - PullRequest
0 голосов
/ 19 декабря 2018

Как атрибут head и next хранит адрес, даже не объявляя их явно как указатели в программе односвязного списка python

1 Ответ

0 голосов
/ 19 декабря 2018

В Python переменные - это просто имена объектов.Объект может иметь ноль или более имен.Поэтому, если у вас есть простой класс, такой как:

class Node:
    def __init__(self,value):
        self.value = value
        self.next = None

Вы можете создать узлы и «назвать» следующий в списке:

>>> a = Node(1)
>>> b = Node(2)
>>> a.next = b    # a.next is another name for b
>>>
>>> b.value
2
>>> a.next.value
2
>>> b.value = 5     # change b
>>> a.next.value    # a.next another name for b
5

Внутренне, по крайней мере в CPython,имена относятся к PyObject* экземплярам, ​​которые являются указателями.

...