Sobes.tech
Junior — Middle

Em que situações é recomendado usar uma lista ligada (LinkedList)?

sobes.tech IA

Resposta da IA

Recomenda-se usar uma Lista Ligada (LinkedList) em situações onde:

  • Operações frequentes de inserção e remoção de elementos no meio da coleção, pois a LinkedList permite fazer isso de forma eficiente sem deslocar os elementos, ao contrário dos arrays.
  • Não é necessário acesso rápido por índice, pois a LinkedList tem um tempo de acesso linear.
  • É preciso implementar uma estrutura de dados com tamanho dinâmico, onde a quantidade de elementos muda frequentemente.

Exemplo de uso em 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
        }
    }
}

Portanto, a LinkedList é útil quando a eficiência em inserções e remoções é importante, mais do que o acesso aleatório.