readmeupdate
This commit is contained in:
parent
4efb5bb06c
commit
9963c751d8
59
Readme.md
59
Readme.md
@ -1,7 +1,54 @@
|
|||||||
Todo
|
# Project Name
|
||||||
Improve 5 number algorhythm
|
Push Swap is a 2 stack sorting algoritm, The goal is to sort the input in as few moves as possible\
|
||||||
|
I wrote my own algoritm which is a combination of quick sort and bubble sort as radix is very bad with only 2 stacks\
|
||||||
|
The following is a list of the moves we are allowed to make
|
||||||
|
|
||||||
Tester
|
| Move | Description |
|
||||||
catch fsanitize signals
|
| -- | ------ |
|
||||||
create line that replaces -Wextra with "-g -fsanitize=address"
|
| pa | Pushes the top number from stack B to stack A |
|
||||||
check for -Wall -Werror -Wextra
|
| pb | Pushes the top number from stack A to stack B |
|
||||||
|
| sa | Swaps the top 2 numbers in stack A |
|
||||||
|
| sb | Swaps the top 2 numbers in stack B |
|
||||||
|
| ss | Swaps the top 2 numbers in stack A and in Stack B |
|
||||||
|
| ra | Rotates Stack A moves all items forward so the last item becomes the first |
|
||||||
|
| rb | Rotates Stack B moves all items forward so the last item becomes the first |
|
||||||
|
| rr | Rotates Both stacks moves all items forward, so the last item becomes the first |
|
||||||
|
| rra | Reverse Rotates Stack A moves all items backwards, so the first item becomes the last |
|
||||||
|
| rrb | Reverse Rotates Stack B moves all items backwards, so the first item becomes the last |
|
||||||
|
| rrr | Reverse Rotates Both stacks moves all items backwards, so the first item becomes the last |
|
||||||
|
|
||||||
|
---
|
||||||
|
## Improvements
|
||||||
|
#### Improve 5 numbers algoritm
|
||||||
|
simply hardcode all possibilities with 5 numbers or less
|
||||||
|
#### Improve more than 30 algoritm
|
||||||
|
Gotta figure this out to always stay under the goals
|
||||||
|
|
||||||
|
---
|
||||||
|
## Usage
|
||||||
|
#### Sorter
|
||||||
|
1. Simply clone or download the repository
|
||||||
|
2. Run `make` in the cloned directory
|
||||||
|
3. Start the program with `./push_swap [numbers seperated by space]`
|
||||||
|
4. It will return the list of moves to sort the stack
|
||||||
|
#### Checker
|
||||||
|
1. Simply clone or download the repository
|
||||||
|
2. Run `make bonus` in the cloned directory
|
||||||
|
3. Start the program with `./checker [numbers seperated by space]`
|
||||||
|
4. You will have to input moves seperated by a return and when you are done press CTRL + D
|
||||||
|
5. It will return a OK or a KO.
|
||||||
|
#### Both
|
||||||
|
1. You can also run both programs with `./push_swap [numbers] | ./checker [same numbers]`
|
||||||
|
|
||||||
|
---
|
||||||
|
## Tester
|
||||||
|
- add valgrind to tester
|
||||||
|
- check for -Wall -Werror -Wextra
|
||||||
|
|
||||||
|
#### Usage
|
||||||
|
1. Download test.sh to your push swap directory
|
||||||
|
2. Make the file executable `chmod +x test.sh`
|
||||||
|
3. Run `./test.sh` to start the test
|
||||||
|
|
||||||
|
---
|
||||||
|
[This project is part of the studies at 42](https://42.fr/en/homepage/)
|
||||||
|
Loading…
Reference in New Issue
Block a user