Senior
Spiega la differenza tra LIFO e FIFO usando un esempio di stack e coda.
sobes.tech AI
Risposta dell'AI
LIFO (Last In, First Out) e FIFO (First In, First Out) sono due metodi di organizzazione dei dati.
- LIFO — l'ultimo arrivato, il primo ad uscire. Esempio: pila. L'elemento aggiunto più recentemente viene estratto per primo.
- FIFO — il primo arrivato, il primo ad uscire. Esempio: coda. Gli elementi vengono estratti nell'ordine in cui sono stati aggiunti.
Esempio in Go:
package main
import "fmt"
func main() {
// Pila (LIFO)
stack := []int{}
stack = append(stack, 1) // push
stack = append(stack, 2)
fmt.Println("Pila:", stack)
top := stack[len(stack)-1]
stack = stack[:len(stack)-1] // pop
fmt.Println("Elemento estratto (LIFO):", top)
// Coda (FIFO)
queue := []int{1, 2, 3}
fmt.Println("Coda:", queue)
first := queue[0]
queue = queue[1:] // dequeue
fmt.Println("Elemento estratto (FIFO):", first)
}
In questo esempio, la pila estrae l'ultimo elemento aggiunto, mentre la coda il primo.