Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gemartin99/push_swap
Sorting algorithm using two stacks
https://github.com/gemartin99/push_swap
42born2code 42cursus 42projects 42pushswap 42school algorithm educational-project sorting-algorithms
Last synced: 3 months ago
JSON representation
Sorting algorithm using two stacks
- Host: GitHub
- URL: https://github.com/gemartin99/push_swap
- Owner: gemartin99
- Created: 2022-07-09T11:15:00.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T21:46:31.000Z (3 months ago)
- Last Synced: 2024-10-28T01:47:21.750Z (3 months ago)
- Topics: 42born2code, 42cursus, 42projects, 42pushswap, 42school, algorithm, educational-project, sorting-algorithms
- Language: C
- Homepage:
- Size: 4.34 MB
- Stars: 16
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Sobre push_swap 🔢
Push_swap es un proyecto de algoritmia simple, tienes que ordenar
datos. Tienes a tu disposición un conjunto de valores int, dos stacks y un conjunto de
instrucciones para manipular ambos. Deberás utilizar el minimo de instrucciones posible.## Operaciones 🔁
| Operaciones | Explicación |
| :--- | :--- |
| sa | swap a - intercambia los dos primeros elementos encima del stack a. |
| sb | swap b - intercambia los dos primeros elementos encima del stack b. |
| ss | swap a y swap b a la vez. |
| pa | push a - toma el primer elemento del stack b y lo pone encima del stack a. |
| pb | push b - toma el primer elemento del stack a y lo pone encima del stack b. |
| ra | rotate a - desplaza hacia arriba todos los elementos del stack a una posición, el primer elemento se convierte en el último. |
| rb | rotate b - desplaza hacia arriba todos los elementos del stack b una posición, el primer elemento se convierte en el último. |
| rr | ra y rb a la vez. |
| rra | reverse rotate a - desplaza hacia abajo todos los elementos del stack a una posición, el último elemento se convierte en el primero. |
| rrb | reverse rotate b - desplaza hacia abajo todos los elementos del stack b una posición, el último elemento se convierte en el primero. |
| rrr | rra y rrb a la vez. |## Calificación 💯
⚠️ Necesitaras un mínimo de 84/100 para aprobar este proyecto ⚠️
### 🔹 3 Numeros
Max 3 operaciones.
### 🔹 5 Numeros
Max 12 operaciones.
![](https://github.com/gemartin99/Push_swap/blob/master/push_swap5.gif)
### 🔹 100 Numeros:
| Operaciones | Puntos |
| :---: | :---: |
| Menos de 700 | 5 |
| Menos de 900 | 4 |
| Menos de 1100 | 3 |
| Menos de 1300 | 2 |
| Menos de 1500 | 1 |![](https://github.com/gemartin99/Push_swap/blob/master/push_swap100.gif)
### 🔹 500 Numeros:
| Operaciones | Puntos |
| :---: | :---: |
| Menos de 5500 | 5 |
| Menos de 7000 | 4 |
| Menos de 8500 | 3 |
| Menos de 10000 | 2 |
| Menos de 11500 | 1 |## BONUS ⭐️
Solo se debe hacer el bonus si la parte obligatoria esta al 100%. El bonus consiste en el desarrollo de un programa llamado checker , que verificará
si tu stack A esta ordenado. Para ello deberás mandarle como argumentos los numeros del stack y una vez se ejecute el programa debes mandarle las operaciones que quieres realizar para ordenarlo. Cuando queramos dejar de mandarle operaciones haremos ```Ctrl + D``` y el checker nos dirá "OK" si esta ordenado o "KO" si no lo esta. La controlación de errores del checker debe ser la misma que en push_swap.![](https://github.com/gemartin99/Push_swap/blob/master/checker.gif)
# TESTER ✅🆗
Comprueba que todo este correcto antes de validar el proyecto!
➡️ [TESTER PROPIO](https://github.com/gemartin99/Push_swap_tester) ⬅️
# Autor ✍🏼
# Quizás pueda interesarte!
### - Para ver mi progresion en el common core 42 ↙️
[AQUÍ](https://github.com/gemartin99/42cursus)
### - Mi perfil en la intranet de 42 ↙️
[AQUÍ](https://profile.intra.42.fr/users/gemartin)### - Contacto 📥
◦ Email: [email protected]
◦ Linkedin: https://www.linkedin.com/in/gemartin99/