Sobes.tech
Junior — Middle

Kādi procesi notiek, kad pievienotu jaunu elementu saistītajā sarakstā realizētā stekā?

sobes.tech AI

Atbilde no AI

Kad pievienotu jaunu elementu stekam, kas realizēts ar saistītu sarakstu, notiek šādas darbības:

  1. Tiek izveidots jauns mezgls (saraksta elements), kurā tiek glabāta pievienojamā vērtība.
  2. Jaunā mezgla rādītājs tiek iestatīts uz pašreizējo augšējo steka elementu (t.i., saistītā saraksta galvu).
  3. Saistītā saraksta galva tiek atjaunināta un tagad norāda uz jauno mezglu — tas kļūst par jauno augšējo steka elementu.

Tādējādi push operācija tiek veikta konstanta laika O(1), jo nav nepieciešams pārlūkot sarakstu.

Kotlin piemērs:

class Node<T>(val value: T, var next: Node<T>? = null)

class Stack<T> {
    private var head: Node<T>? = null

    fun push(value: T) {
        val newNode = Node(value)
        newNode.next = head
        head = newNode
    }

    fun pop(): T? {
        val value = head?.value
        head = head?.next
        return value
    }
}