summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorDominik Kaiser2024-04-15 17:54:43 +0200
committerDominik Kaiser2024-04-15 17:54:43 +0200
commit4545c9f4dc339e94bf6ebe0963db55e9dcc131bd (patch)
treeef13af63281b0c7b08b48ade575bec87031055d2 /main.c
parentedede8f8fd0ef6a51271bd7c12a784d9acbad7a8 (diff)
downloadpush_swap-4545c9f4dc339e94bf6ebe0963db55e9dcc131bd.tar.gz
push_swap-4545c9f4dc339e94bf6ebe0963db55e9dcc131bd.zip
Change stacks from linked lists to rotating arrays
Diffstat (limited to 'main.c')
-rw-r--r--main.c41
1 files changed, 23 insertions, 18 deletions
diff --git a/main.c b/main.c
index a3e1375..803f6eb 100644
--- a/main.c
+++ b/main.c
@@ -6,21 +6,17 @@
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/12 17:03:30 by dkaiser #+# #+# */
-/* Updated: 2024/04/13 16:58:36 by dkaiser ### ########.fr */
+/* Updated: 2024/04/15 17:53:19 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
+#include "libft/ft_printf.h"
#include "push_swap.h"
-static void print_content(void *content)
-{
- ft_printf("%d ", *(int *)content);
-}
-
int main(int argc, char *argv[])
{
- t_list *stack_a;
- t_list *stack_b;
+ t_stack *stack_a;
+ t_stack *stack_b;
t_list *pscmds;
stack_a = create_stack(argc, argv);
@@ -29,16 +25,25 @@ int main(int argc, char *argv[])
ft_putendl_fd("Error", 2);
return (1);
}
- stack_b = NULL;
- pscmds = NULL;
- stack_optimize(&stack_a);
- stack_sort(&stack_a, &stack_b, &pscmds);
- optimize_commands(&pscmds);
+
+ stack_b = malloc(sizeof(t_stack));
+ if (!stack_b)
+ {
+ //free everything
+ }
+ stack_b->stack = malloc(sizeof(int) * (argc - 1));
+ if (!stack_b->stack)
+ {
+ //free everything
+ }
+ stack_b->size = 0;
+ stack_optimize(stack_a);
+ pscmds = stack_sort(stack_a, stack_b);
+ /* optimize_commands(&pscmds); */
print_commands(pscmds);
- ft_printf("A:");
- ft_lstiter(stack_a, print_content);
- ft_printf("\nB:");
- ft_lstiter(stack_b, print_content);
- ft_printf("\nExecuted %d push_swap commands.\n", ft_lstsize(pscmds));
+ ft_printf("\nA: ");
+ stack_print(stack_a);
+ ft_printf("B: ");
+ stack_print(stack_b);
return (0);
}