Sobes.tech
Junior — Middle

Wie kann man eine Stapel-Datenstruktur mit einer verketteten Liste erstellen?

sobes.tech KI

Antwort von AI

Der Stapel kann auf Basis einer verketteten Liste implementiert werden, bei der jedes Element (Knoten) Daten enthält und auf das nächste Element verweist. Das oberste Element des Stapels ist der Kopf der Liste. Hauptoperationen:

  • push — fügt einen neuen Knoten am Anfang der Liste hinzu;
  • pop — entfernt den Knoten am Anfang der Liste und gibt seinen Wert zurück;
  • peek — zeigt den Wert des Kopfes an, ohne ihn zu entfernen.

Beispiel in Kotlin:

class Node<T>(val data: T, var next: Node<T>? = null)

class Stack<T> {
    private var head: Node<T>? = null

    fun push(value: T) {
        val newNode = Node(value, head)
        head = newNode
    }

    fun pop(): T? {
        val value = head?.data
        head = head?.next
        return value
    }

    fun peek(): T? = head?.data

    fun isEmpty() = head == null
}

Dieser Ansatz gewährleistet Stapeloperationen in O(1) Zeit und dynamische Erweiterung ohne die Notwendigkeit, ein großes Array zu reservieren.