push_swap/src/push_swap.c

36 lines
1.3 KiB
C

/* ************************************************************************** */
/* */
/* ::: o_ :::::: ::: */
/* push_swap.c :+: / :+::+: :+: */
/* +:+ > +:++:+ +:+ */
/* By: whaffman <whaffman@student.codam.nl> +#+ +:+ +#++#++:++#++ */
/* +#+ +#+#+ +#++#+ +#+ \o/ */
/* Created: 2024/11/04 13:04:11 by whaffman #+#+# #+#+# #+# #+# | */
/* Updated: 2024/11/24 15:06:16 by whaffman ### ### ### ### / \ */
/* */
/* ************************************************************************** */
#include "libft.h"
#include "push_swap.h"
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]))
return (error(state));
if (has_duplicates(state->a))
return (error(state));
}
if (ft_lstsize(state->a) <= 1 || is_sorted(state->a))
return (0);
sortmore(state);
free_state(state);
return (0);
}