Sobes.tech
Senior

Magyarázza el a LIFO és FIFO közötti különbséget egy halom és egy sor példáján keresztül.

sobes.tech MI

Válasz az MI-től

LIFO (Last In, First Out) és FIFO (First In, First Out) két adat szervezési módszer.

  • LIFO — legutóbb érkezett, elsőként távozik. Példa: verem. A legutóbb hozzáadott elem kerül elsőként kivételre.
  • FIFO — elsőként érkezett, elsőként távozik. Példa: sor. Az elemek a hozzáadás sorrendjében kerülnek kivételre.

Példa Go nyelven:

package main

import "fmt"

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

    // Sor (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Sor:", queue)
    first := queue[0]
    queue = queue[1:] // dequeue
    fmt.Println("Kivett elem (FIFO):", first)
}

Ebben a példában a verem a legutóbb hozzáadott elemet veszi ki, míg a sor az elsőt.