Sobes.tech
Junior — Middle

Millistes olukordades on soovitatav kasutada seotud nimekirja (LinkedList)?

sobes.tech AI

Vastus AI-lt

Soovitatav on kasutada ühendatud nimekirja (LinkedList) olukordades, kus:

  • Sagedased sisestus- ja kustutamistoimingud kogu keskosas, kuna LinkedList võimaldab seda teha tõhusalt ilma elemente liigutamata, erinevalt massiividest.
  • Ei ole vaja kiiret juhuslikku juurdepääsu indeksi järgi, kuna LinkedListil on lineaarne juurdepääsuaeg.
  • Vajalik on dünaamilise suurusega andmestruktuuri rakendamine, kus elementide arv sageli muutub.

Näide kasutamisest iOS-is (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
        }
    }
}

Seega on LinkedList kasulik, kui sisestamise ja kustutamise tõhusus on olulisem kui juhuslik juurdepääs.