Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, czym jest lista jednokierunkowa i jak jest zaimplementowana w Pythonie?

sobes.tech AI

Odpowiedź od AI

Jednokierunkowa lista to struktura danych składająca się z węzłów, z których każdy zawiera dane i odwołanie do następnego węzła na liście. W przeciwieństwie do tablicy, elementy nie są przechowywane w ciągłej pamięci, co pozwala na efektywne wstawianie i usuwanie elementów.

Przykład implementacji listy jednokierunkowej w Pythonie:

class Węzeł:
    def __init__(self, dane):
        self.dane = dane
        self.next = None

class ListaJednokierunkowa:
    def __init__(self):
        self.początek = None

    def dodaj(self, dane):
        nowy_węzeł = Węzeł(dane)
        if not self.początek:
            self.początek = nowy_węzeł
            return
        aktualny = self.początek
        while aktualny.next:
            aktualny = aktualny.next
        aktualny.next = nowy_węzeł

    def wypisz_listę(self):
        aktualny = self.początek
        while aktualny:
            print(aktualny.dane, end=' -> ')
            aktualny = aktualny.next
        print('None')

# Użycie
sll = ListaJednokierunkowa()
sll.dodaj(1)
sll.dodaj(2)
sll.dodaj(3)
sll.wypisz_listę()  # Wyjście: 1 -> 2 -> 3 -> None