Junior — Middle
Kokie procesai vyksta, kai į sąsajos sąrašą įgyvendintą krūvą pridedamas naujas elementas?
sobes.tech AI
Atsakymas iš AI
Kai įdedate naują elementą į krūvą, įgyvendintą naudojant susietą sąrašą, vyksta šie veiksmai:
- Sukuriamas naujas mazgas (sąrašo elementas), kuriame saugoma įdedama reikšmė.
- Naujo mazgo rodyklė nustatoma į dabartinį viršutinį krūvos elementą (t.y., į susieto sąrašo galvą).
- Susieto sąrašo galva atnaujinama ir dabar rodo į naują mazgą — jis tampa nauju viršutiniu krūvos elementu.
Taip, push operacija vykdoma pastoviu laiku O(1), nes nereikia eiti per sąrašą.
Pavyzdys Kotlin kalba:
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
}
}