correction petites erreurs dans programme et readme

This commit is contained in:
hugogogo
2021-06-14 21:43:35 +02:00
parent 5050e05816
commit e47c99efa8
8 changed files with 29 additions and 2 deletions

View File

@@ -23,8 +23,6 @@ SRCS = push_swap.c \
algo.c \
print.c \
swap.c \
solve_sorting.c \
algo_bubble_sort.c \
stop.c
ODIR = ./builds

View File

@@ -63,19 +63,33 @@
---
pour utiliser l'algorithme de tris de ce programme dans votre propre programme, il faut :
1. copier le fichier algo.c
2. mettre son prototype dans votre header.h : `void hugo_sort(t_stack **a, t_stack **b, t_list **solution)`
3. mettre le fichiers dans vos srcs dans Makefile
4. et verifier que vos functions d'actions (push, swap, rotate) ont bien les meme prototypes :
- `t_list *sa(t_stack **stack, t_list **lst);`
- `t_list *ss(t_stack **a, t_stack **b, t_list **lst);`
- `t_list *pa(t_stack **dst, t_stack **src, t_list **lst);`
- `t_list *pb(t_stack **dst, t_stack **src, t_list **lst);`
- `t_list *ra(t_stack **stack, t_list **lst);`
- `t_list *rb(t_stack **stack, t_list **lst);`
- `t_list *rr(t_stack **a, t_stack **b, t_list **lst);`
- `t_list *rra(t_stack **stack, t_list **lst);`
- `t_list *rrb(t_stack **stack, t_list **lst);`
- `t_list *rrr(t_stack **a, t_stack **b, t_list **lst);`
@@ -84,21 +98,36 @@ pour utiliser l'algorithme de tris de ce programme dans votre propre programme,
ce programme push_swap.c s'organise de la facon suivante :
1. des fonctions pour faire fonctionner l'algorithme de tris (principalement parsing des donnees, et les actions utilisees par l'algorithme de tris : push, swap, rotate et reverse rotate) :
- push_swap.c : contient la fonction main et 4 autres fonctions :
- is_valid : verification d'erreur de parsing des listes données
- check_flag : regarde la presence des flags, pour l'instant uniquement -p pour print les etapes du tri
- init_stack : qui parse la pile a trier dans une liste chainee
- launch_algo : la fonction qui lance l'algorithme de tri, en lui envoyant ce qui est necessaire (les deux piles a et b et la liste de solutions)
- stop.c : qui gere les erreurs, l'usage, mais aussi qui free avant de fermer le programme
- ps_stop : recoit toutes les listes chainees du programme, envoyer NULL si on ne veut pas free la liste, et le dernier int permet de savoir si on veut arreter le programme (>= 0) et si on veut signaler une erreur (> 1)
- ps_error : la gestion des erreurs
- ps_usage : en cas d'erreur = 1, affiche l'usage du programme
- print.c : contient les fonctions necessaires pour afficher le resultat
- print_result : affiche le resultat, et si presence du flag -p affiche aussi les etapes de tris
- fill_solution : remplit la liste chainee solution au fur et a mesure de l'appel des fonctions push swap et rotate (pas optimisé pour raison de compatibilité avec l'appel des fonctions du programme de luke : les actions (push, swap, etc) ne recoivent pas de flag en argument, donc fill_solution remplis toutes les infos necessaires pour le flag, meme s'il n'y a pas de flag)
- toutes les fonctions d'action (push, swap, rotate, et reverse rotate)
2. les fonctions d'algorithme, qui sont appellees par launch_solution()
- hugo_sort : pour l'instant une fonction test qui utilise toutes les actions (push, swap, rotate)

Binary file not shown.

BIN
builds/algo_bubble_sort.o Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
builds/stop.o Normal file

Binary file not shown.

BIN
push_swap Executable file

Binary file not shown.