Bienvenue dans le PushSwap Visualizer ! Si vous êtes curieux de voir comment fonctionne l'algorithme PushSwap avec différentes listes et souhaitez le visualiser en action, vous êtes au bon endroit. Vous n'avez pas besoin d'être un expert pour utiliser cet outil, il est conçu pour être simple et intuitif.
Le projet PushSwap est un algorithme de tri. L'idée principale est simple : on dispose de deux piles, initialement, une pile contient un certain nombre d'entiers dans un ordre quelconque et l'autre est vide. L'objectif est de trier la première pile avec le moins d'opérations possibles en utilisant la pile secondaire comme espace de travail.
Voici les opérations que vous pouvez utiliser pour manipuler et trier les piles :
- sa : échange les deux premiers éléments de la pile A (ne fait rien s'il y a moins de deux éléments).
- sb : échange les deux premiers éléments de la pile B (ne fait rien s'il y a moins de deux éléments).
- ss : effectue les opérations sa et sb en même temps.
- pa : prend le premier élément de la pile B et le place à la première position de la pile A.
- pb : prend le premier élément de la pile A et le place à la première position de la pile B.
- ra : fait une rotation vers le haut de la pile A (le premier élément devient le dernier).
- rb : fait une rotation vers le haut de la pile B.
- rr : effectue les opérations ra et rb en même temps.
- rra : fait une rotation vers le bas de la pile A (le dernier élément devient le premier).
- rrb : fait une rotation vers le bas de la pile B.
- rrr : effectue les opérations rra et rrb en même temps.
C'est simple:
python3 pushswap_bonus [instruction] list [flag]
[instruction]: C'est facultatif. Vous pouvez fournir les opérations du pushswap directement ou via un PIPE.
list: Votre liste d'entiers que vous souhaitez trier.
[flag]: Si vous utilisez [-b], cela modifie légèrement la manière dont vous fournissez les entrées.
[-b]: [instruction] -> path vers les opération | [list] -> path vers la liste d'entier