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