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 \
|
algo.c \
|
||||||
print.c \
|
print.c \
|
||||||
swap.c \
|
swap.c \
|
||||||
solve_sorting.c \
|
|
||||||
algo_bubble_sort.c \
|
|
||||||
stop.c
|
stop.c
|
||||||
|
|
||||||
ODIR = ./builds
|
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 :
|
pour utiliser l'algorithme de tris de ce programme dans votre propre programme, il faut :
|
||||||
|
|
||||||
1. copier le fichier algo.c
|
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)`
|
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
|
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 :
|
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 *sa(t_stack **stack, t_list **lst);`
|
||||||
|
|
||||||
- `t_list *ss(t_stack **a, t_stack **b, 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 *pa(t_stack **dst, t_stack **src, t_list **lst);`
|
||||||
|
|
||||||
- `t_list *pb(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 *ra(t_stack **stack, t_list **lst);`
|
||||||
|
|
||||||
- `t_list *rb(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 *rr(t_stack **a, t_stack **b, t_list **lst);`
|
||||||
|
|
||||||
- `t_list *rra(t_stack **stack, t_list **lst);`
|
- `t_list *rra(t_stack **stack, t_list **lst);`
|
||||||
|
|
||||||
- `t_list *rrb(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);`
|
- `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 :
|
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) :
|
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 :
|
- push_swap.c : contient la fonction main et 4 autres fonctions :
|
||||||
|
|
||||||
- is_valid : verification d'erreur de parsing des listes données
|
- 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
|
- 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
|
- 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)
|
- 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
|
- 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_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_error : la gestion des erreurs
|
||||||
|
|
||||||
- ps_usage : en cas d'erreur = 1, affiche l'usage du programme
|
- ps_usage : en cas d'erreur = 1, affiche l'usage du programme
|
||||||
|
|
||||||
- print.c : contient les fonctions necessaires pour afficher le resultat
|
- 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
|
- 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)
|
- 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)
|
- toutes les fonctions d'action (push, swap, rotate, et reverse rotate)
|
||||||
|
|
||||||
|
|
||||||
2. les fonctions d'algorithme, qui sont appellees par launch_solution()
|
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)
|
- 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