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:
- Yeni bir düyün (siyahı elementi) yaradılır və ona əlavə ediləcək dəyər yerləşdirilir.
- 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.
- Ə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
}
}