Junior — Middle
Можете ли да обясните какво е едносвързан списък и как се реализира в Python?
sobes.tech AI
Отговор от AI
Еднопосочен свързан списък е структура от данни, състояща се от възли, където всеки възел съдържа данни и препратка към следващия възел в списъка. За разлика от масив, елементите не се съхраняват в последователна област от паметта, което позволява ефективно вмъкване и изтриване на елементи.
Пример за реализиране на еднопосочен свързан списък на Python:
class Възел:
def __init__(self, данни):
self.дани = данни
self.следващ = None
class ЕднопосоченСвързанСписък:
def __init__(self):
self.начало = None
def добави(self, данни):
нов_възел = Възел(данни)
if not self.начало:
self.начало = нов_възел
return
текущ = self.начало
while текущ.следващ:
текущ = текущ.следващ
текущ.следващ = нов_възел
def отпечатай_списък(self):
текущ = self.начало
while текущ:
print(текущ.дани, end=' -> ')
текущ = текущ.следващ
print('None')
# Използване
sll = ЕднопосоченСвързанСписък()
sll.добави(1)
sll.добави(2)
sll.добави(3)
sll.отпечатай_списък() # Изход: 1 -> 2 -> 3 -> None