PushSwap is a sorting algorithm project designed to sort a list of integers using a limited set of operations. The goal is to implement an efficient algorithm that minimizes the number of operations required to sort the list.
PushSwap sorts a list of integers with the following operations:
- Push: Moves the top element from one stack to the other.
- Swap: Swaps the top two elements of a stack.
- Rotate: Shifts all elements in a stack up by one position.
- Reverse Rotate: Shifts all elements in a stack down by one position.
The program should produce an optimized solution, using the least number of operations possible to sort the list.