Senior
Explica diferența dintre LIFO și FIFO folosind un exemplu de stivă și coadă.
sobes.tech AI
Răspuns de la AI
LIFO (Last In, First Out) și FIFO (First In, First Out) sunt două moduri de organizare a datelor.
- LIFO — ultimul venit, primul ieșit. Exemplu: stivă. Elementul adăugat cel mai recent este extras primul.
- FIFO — primul venit, primul ieșit. Exemplu: coadă. Elementele sunt extrase în ordinea în care au fost adăugate.
Exemplu în Go:
package main
import "fmt"
func main() {
// Stivă (LIFO)
stack := []int{}
stack = append(stack, 1) // push
stack = append(stack, 2)
fmt.Println("Stivă:", stack)
top := stack[len(stack)-1]
stack = stack[:len(stack)-1] // pop
fmt.Println("Element extras (LIFO):", top)
// Coadă (FIFO)
queue := []int{1, 2, 3}
fmt.Println("Coadă:", queue)
first := queue[0]
queue = queue[1:] // dequeue
fmt.Println("Element extras (FIFO):", first)
}
În acest exemplu, stiva extrage ultimul element adăugat, iar coada primul.