Sobes.tech
Junior — Middle

Əlaqəli siyahı ilə həyata keçirilmiş yığına yeni element əlavə olunduqda hansı proseslər baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

Yığım (stack) yeni element əlavə edilərkən, əlaqəli siyahı vasitəsilə həyata keçirilir və aşağıdakı kimi olur:

  1. Yeni bir düyün (siyahı elementi) yaradılır və ona əlavə ediləcək dəyər yerləşdirilir.
  2. Yeni düyünün göstəricisi hazırda yığının ən yuxarı elementinə (yəni, əlaqəli siyahının başına) təyin edilir.
  3. Əlaqəli siyahının başı yenilənir və indi o, yeni düyünə işarə edir — bu, yığının yeni ən yuxarı elementi olur.

Bu şəkildə, push əməliyyatı sabit vaxtda O(1) yerinə yetirilir, çünki siyahını keçməyə ehtiyac yoxdur.

Kotlin nümunəsi:

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