Sobes.tech
Senior

Explique la différence entre LIFO et FIFO en utilisant un exemple de pile et de file d'attente.

sobes.tech IA

Réponse de l'IA

LIFO (Last In, First Out) et FIFO (First In, First Out) sont deux méthodes d'organisation des données.

  • LIFO — le dernier arrivé, le premier sorti. Exemple : pile. L'élément ajouté en dernier est extrait en premier.
  • FIFO — le premier arrivé, le premier sorti. Exemple : file d'attente. Les éléments sont extraits dans l'ordre dans lequel ils ont été ajoutés.

Exemple en Go :

package main

import "fmt"

func main() {
    // Pile (LIFO)
    stack := []int{}
    stack = append(stack, 1) // empiler
    stack = append(stack, 2)
    fmt.Println("Pile:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // dépiler
    fmt.Println("Élément extrait (LIFO):", top)

    // File d'attente (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("File d'attente:", queue)
    first := queue[0]
    queue = queue[1:] // retirer
    fmt.Println("Élément extrait (FIFO):", first)
}

Dans cet exemple, la pile extrait le dernier élément ajouté, et la file le premier.