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.