Junior — Middle
Ҳангоми илова кардани унсури нав ба як стек, ки тавассути рӯйхати пайвастшуда амалӣ шудааст, кадом равандҳо рӯй медиҳанд?
sobes.tech AI
Ҷавоб аз AI
Ҳангоми илова кардани унсури нав ба стек, ки тавассути рӯйхати пайвастшуда амалӣ мешавад, амалҳои зерин рӯй медиҳанд:
- Як навъи нав (узели рӯйхат) эҷод мешавад, ки арзиши лозимро дар бар мегирад.
- Показандаи узели нав ба унсури болоии ҳозираи стек (яъне, ба сарлавҳаи рӯйхати пайвастшуда) муқаррар карда мешавад.
- Сарлавҳаи рӯйхати пайвастшуда навсозӣ мешавад ва ҳоло ба узели нав ишора мекунад — он ба унсури болоии навини стек табдил меёбад.
Ин тариқ, амалиёти 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
}
}