Sobes.tech
Junior — Middle

Ҳангоми илова кардани унсури нав ба як стек, ки тавассути рӯйхати пайвастшуда амалӣ шудааст, кадом равандҳо рӯй медиҳанд?

sobes.tech AI

Ҷавоб аз AI

Ҳангоми илова кардани унсури нав ба стек, ки тавассути рӯйхати пайвастшуда амалӣ мешавад, амалҳои зерин рӯй медиҳанд:

  1. Як навъи нав (узели рӯйхат) эҷод мешавад, ки арзиши лозимро дар бар мегирад.
  2. Показандаи узели нав ба унсури болоии ҳозираи стек (яъне, ба сарлавҳаи рӯйхати пайвастшуда) муқаррар карда мешавад.
  3. Сарлавҳаи рӯйхати пайвастшуда навсозӣ мешавад ва ҳоло ба узели нав ишора мекунад — он ба унсури болоии навини стек табдил меёбад.

Ин тариқ, амалиёти push дар вақти доимӣ O(1) иҷро мешавад, зеро лозим нест, ки рӯйхатро убур кард.

Масалан дар Kotlin:

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
    }
}