Junior — Middle
Bog'langan ro'yxat orqali amalga oshirilgan stekka yangi element qo'shilganda qanday jarayonlar yuz beradi?
sobes.tech AI
AIdan javob
Yigʻishni (stack) yangi element qoʻshishda, bogʻlangan roʻyxat yordamida amalga oshirilganda, quyidagilar boʻladi:
- Yangi tugun (roʻyxat element) yaratiladi va unga qoʻshiladigan qiymat joylashtiriladi.
- Yangi tugunning koʻrsatgichi hozirgi yigining yuqori elementiga (yaʼni, bogʻlangan roʻyxatning boshiga) oʻrnatiladi.
- Bogʻlangan roʻyxatning boshqichligi yangilanadi va endi u yangi tugunga koʻrsatadi — u yangi yuqori elementga aylantiriladi.
Shu tarzda, push operatsiyasi oʻz vaqtida O(1) bajariladi, chunki roʻyxat boʻylab yurishga ehtiyoj yoʻq.
Kotlin misoli:
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
}
}