Senior
Paaiškinkite skirtumą tarp LIFO ir FIFO, naudodami pavyzdį su steku ir eile.
sobes.tech AI
Atsakymas iš AI
LIFO (Last In, First Out) ir FIFO (First In, First Out) yra du būdai organizuoti duomenis.
- LIFO — paskutinis įeinantis, pirmas išeinantis. Pavyzdys: krūva. Paskutinis pridėtas elementas išimamas pirmas.
- FIFO — pirmas įeinantis, pirmas išeinantis. Pavyzdys: eilė. Elementai išimami pagal pridėjimo tvarką.
Pavyzdys Go kalba:
package main
import "fmt"
func main() {
// Krūva (LIFO)
stack := []int{}
stack = append(stack, 1) // pridėti
stack = append(stack, 2)
fmt.Println("Krūva:", stack)
top := stack[len(stack)-1]
stack = stack[:len(stack)-1] // išimti
fmt.Println("Išimtas elementas (LIFO):", top)
// Eilė (FIFO)
queue := []int{1, 2, 3}
fmt.Println("Eilė:", queue)
first := queue[0]
queue = queue[1:] // išimti
fmt.Println("Išimtas elementas (FIFO):", first)
}
Šiame pavyzdyje, krūva išims paskutinį pridėtą elementą, o eilė — pirmą pridėtą.