Junior — Middle
In quali situazioni è consigliato usare una lista collegata (LinkedList)?
sobes.tech AI
Risposta dell'AI
Si consiglia di utilizzare una lista collegata (LinkedList) nelle situazioni in cui:
- Si effettuano frequentemente operazioni di inserimento e rimozione di elementi nel mezzo della collezione, poiché la LinkedList permette di farlo in modo efficiente senza spostare gli elementi, a differenza degli array.
- Non è richiesta un'accesso rapido tramite indice, poiché la LinkedList ha un tempo di accesso lineare.
- È necessario implementare una struttura dati con dimensione dinamica, dove il numero di elementi cambia frequentemente.
Esempio di utilizzo in 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
}
}
}
Pertanto, la LinkedList è utile quando l'efficienza di inserimenti e cancellazioni è importante, più che l'accesso casuale.