Почему моя функция добавления узла связанного списка в начало не работает?Python

Программы на Python
Ответить
Anonymous
 Почему моя функция добавления узла связанного списка в начало не работает?

Сообщение Anonymous »

Я реализую связанный список в Python, используя два массива — один для хранения значений и один для хранения указателей, так что значение узла имеет значения, а значение, на которое он указывает, сохраняется в соответствующем индексе в массиве указателей. . Это функция, которая добавляет узел в начало связанного списка.
Я написал функцию так, чтобы она увеличивала каждый элемент в обоих массивах, запоминая при этом последний элемент, так что можно добавить в конец, а затем вставить новый узел с индексом 0 массивов. Я еще не запускал код, поскольку он является частью более крупного класса, реализацию которого я еще не закончил, но Chatgpt действительно не нравится мой код, я был бы признателен за любые советы относительно того, есть ли в моем коде серьезные логические ошибки:

Код: Выделить всё

def addAtHead(self, val):

"""
:type val: int
:rtype: None
"""

if not self.values:
self.values.append(val)
self.pointers.append(None)
return

append_val = self.values[-1]

for i in range(1, len(self.values)):
self.values[len(self.values) - i] = self.values[len(self.values) - i-1]
self.pointers[len(self.values) - i] = self.pointers[len(self.values) - i-1]

self.values[0] = val
self.pointers[0] = self.values[1]

self.values.append(append_val)
self.pointers.append(None)
Я оставил индексы self.pointers в виде self.values, поскольку они имеют одинаковый размер и настраиваются одинаково.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -head-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»