Este proyecto, llamado "push_swap", es parte del plan de estudios de la escuela 42. La tarea principal es implementar un algoritmo eficiente que organice una pila de números en orden ascendente utilizando dos pilas y un conjunto limitado de operaciones.
- Los números están representados por sus posiciones iniciales en la pila A.
- El programa debe mostrar una serie de instrucciones que, al ejecutarse, ordenarán la pila A.
- Se tienen dos pilas, A y B, y un conjunto limitado de operaciones permitidas.
Operación | Descripción |
---|---|
sa |
Swap A: Intercambia los dos primeros elementos de la pila A. |
sb |
Swap B: Intercambia los dos primeros elementos de la pila B. |
ss |
Swap Both: sa y sb al mismo tiempo. |
pa |
Push A: Mueve el primer elemento de B a la primera posición de A. |
pb |
Push B: Mueve el primer elemento de A a la primera posición de B. |
ra |
Rotate A: Rota hacia arriba todos los elementos de A. |
rb |
Rotate B: Rota hacia arriba todos los elementos de B. |
rr |
Rotate Both: ra y rb al mismo tiempo. |
rra |
Reverse Rotate A: Rota hacia abajo todos los elementos de A. |
rrb |
Reverse Rotate B: Rota hacia abajo todos los elementos de B. |
rrr |
Reverse Rotate Both: rra y rrb al mismo tiempo. |