Sobes.tech
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