Sobes.tech
Junior — Middle

Milyen helyzetekben ajánlott a láncolt lista (LinkedList) használata?

sobes.tech MI

Válasz az MI-től

Javasolt a láncolt lista (LinkedList) használata olyan helyzetekben, amikor:

  • Gyakran történik elemek beszúrása és törlése a gyűjtemény közepén, mivel a LinkedList hatékonyan teszi ezt meg anélkül, hogy az elemeket el kellene mozgatni, ellentétben a tömbökkel.
  • Nem szükséges gyors véletlenszerű hozzáférés index szerint, mivel a LinkedList lineáris hozzáférési idővel rendelkezik.
  • Dinamikus méretű adatszerkezetet kell megvalósítani, ahol az elemek száma gyakran változik.

Példa iOS-en (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
        }
    }
}

Ezért a LinkedList akkor hasznos, ha az beszúrások és törlések hatékonysága fontosabb, mint a véletlenszerű hozzáférés.