Sobes.tech
Senior

Erklären Sie den Unterschied zwischen LIFO und FIFO anhand eines Beispiels für Stapel und Warteschlange.

sobes.tech KI

Antwort von AI

LIFO (Last In, First Out) und FIFO (First In, First Out) sind zwei Methoden zur Organisation von Daten.

  • LIFO — der letzte Eingegangene, der erste Ausgehende. Beispiel: Stapel. Das zuletzt hinzugefügte Element wird zuerst entfernt.
  • FIFO — der erste Eingegangene, der erste Ausgehende. Beispiel: Warteschlange. Elemente werden in der Reihenfolge entfernt, in der sie hinzugefügt wurden.

Beispiel in Go:

package main

import "fmt"

func main() {
    // Stapel (LIFO)
    stack := []int{}
    stack = append(stack, 1) // push
    stack = append(stack, 2)
    fmt.Println("Stapel:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // pop
    fmt.Println("Entferntes Element (LIFO):", top)

    // Warteschlange (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Warteschlange:", queue)
    first := queue[0]
    queue = queue[1:] // dequeue
    fmt.Println("Entferntes Element (FIFO):", first)
}

In diesem Beispiel entfernt der Stapel das zuletzt hinzugefügte Element, und die Warteschlange das erste.