correction petites erreurs dans programme et readme
This commit is contained in:
2
Makefile
2
Makefile
@@ -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
|
||||
|
||||
29
README.md
29
README.md
@@ -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)
|
||||
|
||||
|
||||
|
||||
BIN
builds/algo.o
BIN
builds/algo.o
Binary file not shown.
BIN
builds/algo_bubble_sort.o
Normal file
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
BIN
builds/stop.o
Normal file
Binary file not shown.
Reference in New Issue
Block a user