introduction
Une file d'attente est un type de données abstrait où des éléments sont ajoutés à l'avant (mise en file d'attente) et supprimés à l'arrière ( retrait de file d'attente ). Il s'agit également du principe FIFO (First In First Out) .
Il est mieux illustré par un exemple:
Défi
Etant donné un non-vide tableau qui contient des nombres entiers positifs et des éléments qui indiquent une dequeue (suppression d' un élément de sortie), la liste finale de la file d' attente.
Disons que cela X
dénote une file d'attente dans cet exemple. Jetons un œil à la liste suivante:
[45, X, X, 37, 20, X, 97, X, 85]
Cela peut être traduit dans le pseudo-code de file d'attente suivant:
Queue
Enqueue 45 -> 45
Dequeue ->
Dequeue -> (dequeue on an empty queue is a no-op)
Enqueue 37 -> 37
Enqueue 20 -> 20 37
Dequeue -> 20
Enqueue 97 -> 97 20
Dequeue -> 97
Enqueue 85 -> 85 97
Vous pouvez voir qu'à la fin, le résultat est [85, 97]
, qui est la sortie de cette séquence.
Cas de test
Notez que vous pouvez choisir n'importe quel autre symbole ou caractère X
, tant qu'il ne s'agit pas d'un entier positif.
[1, X, 2, X, 3, X] -> []
[1, 2, X] -> [2]
[1, 2, 3] -> [3, 2, 1]
[1, 2, X, X, X, 3] -> [3]
[1, 2, X, 3, X, 4] -> [4, 3]
C'est du code-golf , donc la soumission avec le moins d'octets gagne!