Senior
Vysvetlite rozdiel medzi LIFO a FIFO na príklade zásobníka a fronty.
sobes.tech AI
Odpoveď od AI
LIFO (Last In, First Out) a FIFO (First In, First Out) sú dva spôsoby organizácie dát.
- LIFO — posledný prišiel, prvý odíde. Príklad: zásobník. Posledný pridaný prvok sa odstráni ako prvý.
- FIFO — prvý prišiel, prvý odíde. Príklad: fronta. Prvky sa odstraňujú v poradí, v akom boli pridané.
Príklad v Go:
package main
import "fmt"
func main() {
// Zásobník (LIFO)
stack := []int{}
stack = append(stack, 1) // push
stack = append(stack, 2)
fmt.Println("Zásobník:", stack)
top := stack[len(stack)-1]
stack = stack[:len(stack)-1] // pop
fmt.Println("Odstránený prvok (LIFO):", top)
// Fronta (FIFO)
queue := []int{1, 2, 3}
fmt.Println("Fronta:", queue)
first := queue[0]
queue = queue[1:] // dequeue
fmt.Println("Odstránený prvok (FIFO):", first)
}
V tomto príklade zásobník odstráni posledný pridaný prvok, zatiaľ čo fronta prvý.