]> git.dkaiser.de - 42/push_swap.git/commitdiff
Adjust optimize_commands() for t_psdata
authorDominik Kaiser <dominik@dominik-XPS.fritz.box>
Tue, 16 Apr 2024 08:35:22 +0000 (10:35 +0200)
committerDominik Kaiser <dominik@dominik-XPS.fritz.box>
Tue, 16 Apr 2024 08:35:22 +0000 (10:35 +0200)
cmd_optimization.c
main.c
push_swap.h

index 2d93252eedc4c1b43647d16d58436f8215a097e4..0c5913dd398bf6a4a25c2a7755e078c0d641a58b 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/04/13 16:42:34 by dkaiser           #+#    #+#             */
-/*   Updated: 2024/04/13 17:31:18 by dkaiser          ###   ########.fr       */
+/*   Updated: 2024/04/16 10:32:28 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
 #include "libft/libft.h"
 #include "push_swap.h"
 
-/* void        optimize_commands(t_list **cmds) */
-/* { */
-/*     int             optimizations; */
-/*     t_list  *cur; */
-/*     t_list *last; */
-
-/*     optimizations = 0; */
-/*     cur = *cmds; */
-/*     last = NULL; */
-/*     while (cur->next) */
-/*     { */
-/*             if ((*(enum e_pscmd *)cur->content == PA */
-/*                             && *(enum e_pscmd *)cur->next->content == PB) */
-/*                     || (*(enum e_pscmd *)cur->content == PA */
-/*                             && *(enum e_pscmd *)cur->next->content == PB)) */
-/*             { */
-/*             if (last) */
-/*                 last->next = cur->next->next; */
-/*             else */
-/*                 (*cmds)->next = cur->next->next; */
-/*             ft_lstdelone(cur->next, free); */
-/*             ft_lstdelone(cur, free); */
-/*             optimizations++; */
-/*         } */
-/*         if (!optimizations) */
-/*         { */
-/*             last = cur; */
-/*             cur = cur->next; */
-/*         } */
-/*         else */
-/*             break; */
-/*     } */
-/*     if (optimizations) */
-/*             optimize_commands(cmds); */
-/* } */
-
 static enum e_pscmd get_cmd(t_list *cmd)
 {
     if (cmd)
@@ -58,13 +22,13 @@ static enum e_pscmd get_cmd(t_list *cmd)
         return NO_CMD;
 }
 
-void optimize_commands(t_list **cmds)
+void optimize_commands(t_psdata *data)
 {
     t_list *cur;
     t_list *last;
     int optimizations;
 
-    cur = *cmds;
+    cur = data->cmds;
     last = cur;
     optimizations = 0;
 
@@ -81,5 +45,5 @@ void optimize_commands(t_list **cmds)
         cur = last->next;
     }
     if (optimizations)
-        optimize_commands(cmds);
+        optimize_commands(data);
 }
diff --git a/main.c b/main.c
index dd3e9c4558f30802f8027a067d45fdaa42a8ad58..0087dc7ba03d043f5a7d74b78a758809a63bd6b2 100644 (file)
--- a/main.c
+++ b/main.c
@@ -6,7 +6,7 @@
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/04/12 17:03:30 by dkaiser           #+#    #+#             */
-/*   Updated: 2024/04/16 09:35:54 by dkaiser          ###   ########.fr       */
+/*   Updated: 2024/04/16 10:31:48 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -71,7 +71,7 @@ int   main(int argc, char *argv[])
        }
        stack_optimize(data->a);
        stack_sort(data);
-       /* optimize_commands(&pscmds); */
+       optimize_commands(data);
        print_commands(data->cmds);
        ft_printf("\nA: ");
        stack_print(data->a);
index c7afb5f3b809abe10b6b16ba93beec775c4a02fd..c3fd6b8f037dbc92d0d397d1487bc9b4026b65ba 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/04/12 16:59:09 by dkaiser           #+#    #+#             */
-/*   Updated: 2024/04/16 09:29:15 by dkaiser          ###   ########.fr       */
+/*   Updated: 2024/04/16 10:32:04 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -56,7 +56,7 @@ void  run_command(t_psdata *data, enum e_pscmd cmd);
 void   print_commands(t_list *cmds);
 
 int    stack_optimize(t_stack *stack);
-void   optimize_commands(t_list **cmds);
+void   optimize_commands(t_psdata *data);
 
 void   stack_sort(t_psdata *data);