/* ************************************************************************** */ /* */ /* ::: o_ :::::: ::: */ /* push_swap.c :+: / :+::+: :+: */ /* +:+ > +:++:+ +:+ */ /* By: whaffman +#+ +:+ +#++#++:++#++ */ /* +#+ +#+#+ +#++#+ +#+ \o/ */ /* Created: 2024/11/04 13:04:11 by whaffman #+#+# #+#+# #+# #+# | */ /* Updated: 2024/11/07 15:26:58 by whaffman ### ### ### ### / \ */ /* */ /* ************************************************************************** */ #include "libft.h" #include "push_swap.h" #include #include void print_stack(const char *name, t_list *stack) { int lst_size; t_list *node; ft_printf("%s |", name); if (!stack) { ft_printf("\n"); return ; } lst_size = ft_lstsize(stack); while (lst_size > 0) { node = ft_lstat(stack, lst_size - 1); ft_printf("%d ", *((int *) node->content)); lst_size--; } ft_printf("\n"); } void print_state(t_state *state) { ft_printf("\n"); print_stack("A", state->a); print_stack("B", state->b); ft_printf("===================\n"); } t_state *initialise_state(t_state **state) { *state = malloc(sizeof (t_state)); if (*state) { (*state)->a = NULL; (*state)->b = NULL; } return (*state); } int main(int argc, char *argv[]) { t_state *state; state = NULL; if (!initialise_state(&state)) return (1); while (argc-- > 1) { if (!new_element(&(state->a), argv[argc])) { ft_putstr_fd("Error\n", 2); return (1); } } ft_printf("min: %d\n", stack_min(state->a)); ft_printf("max: %d\n", stack_max(state->a)); sort5(state); print_state(state); return (0); }