Junior — Middle
Quels processus se produisent lorsqu'un nouvel élément est ajouté à une pile implémentée via une liste chaînée?
sobes.tech IA
Réponse de l'IA
Lors de l'ajout d'un nouvel élément à la pile, implémentée via une liste chaînée, le processus est le suivant :
- Un nouveau nœud (élément de la liste) est créé, contenant la valeur à ajouter.
- Le pointeur du nouveau nœud est défini sur l'élément supérieur actuel de la pile (c'est-à-dire la tête de la liste chaînée).
- La tête de la liste chaînée est mise à jour pour pointer vers le nouveau nœud, qui devient le nouvel élément supérieur de la pile.
Ainsi, l'opération push s'effectue en temps constant O(1), car elle ne nécessite pas de parcourir la liste.
Exemple en 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
}
}