Senior
Explique a diferença entre LIFO e FIFO usando um exemplo de uma pilha e uma fila.
sobes.tech IA
Resposta da IA
LIFO (Last In, First Out) e FIFO (First In, First Out) são duas formas de organizar dados.
- LIFO — o último a chegar, o primeiro a sair. Exemplo: pilha. O elemento adicionado mais recentemente é extraído primeiro.
- FIFO — o primeiro a chegar, o primeiro a sair. Exemplo: fila. Os elementos são extraídos na ordem em que foram adicionados.
Exemplo em Go:
package main
import "fmt"
func main() {
// Pilha (LIFO)
stack := []int{}
stack = append(stack, 1) // empurrar
stack = append(stack, 2)
fmt.Println("Pilha:", stack)
top := stack[len(stack)-1]
stack = stack[:len(stack)-1] // remover
fmt.Println("Elemento extraído (LIFO):", top)
// Fila (FIFO)
queue := []int{1, 2, 3}
fmt.Println("Fila:", queue)
first := queue[0]
queue = queue[1:] // remover
fmt.Println("Elemento extraído (FIFO):", first)
}
Neste exemplo, a pilha extrai o último elemento adicionado, e a fila o primeiro.