Junior — Middle
W jakich sytuacjach zaleca się stosowanie listy powiązanej (LinkedList)?
sobes.tech AI
Odpowiedź od AI
Zaleca się używanie listy powiązanej (LinkedList) w sytuacjach, gdy:
- Często wykonuje się operacje wstawiania i usuwania elementów w środku kolekcji, ponieważ LinkedList pozwala na to efektywnie bez przesuwania elementów, w przeciwieństwie do tablic.
- Nie jest potrzebny szybki dostęp losowy po indeksie, ponieważ LinkedList ma czas dostępu liniowy.
- Należy zaimplementować strukturę danych o zmiennej wielkości, gdzie liczba elementów często się zmienia.
Przykład użycia w iOS (Swift):
class Node<T> {
var value: T
var next: Node?
init(value: T) {
self.value = value
}
}
class LinkedList<T> {
var head: Node<T>?
func append(_ value: T) {
let newNode = Node(value: value)
if let lastNode = head {
var current = lastNode
while current.next != nil {
current = current.next!
}
current.next = newNode
} else {
head = newNode
}
}
}
W związku z tym, LinkedList jest przydatna, gdy ważna jest wydajność wstawiania i usuwania, a nie dostęp losowy.