Push_swap/push_swap.h
2022-01-15 23:49:27 +01:00

61 lines
2.4 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* push_swap.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2021/11/25 23:15:17 by apommier #+# #+# */
/* Updated: 2022/01/14 23:03:47 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef FT_PRINTF_H
# define FT_PRINTF_H
# include <stdio.h>
# include <unistd.h>
# include "./libft/libft.h"
typedef struct process_list
{
void *action;
struct process_list *next;
} s_list;
void sort3(t_list *list);
int push_swap(int nbrarg, char **list);
int is_nbr(int nbrarg, char **list);
t_list *set_list(int nbrarg, char **list);
void lst_indexing(t_list *list);
int is_double(int nbrarg, char **list);
int is_sorted(t_list *list);
void find_loop_index(t_list *list);
int find_loop(t_list *start, t_list *list, int setswap);
t_list *ft_lstnew(void *content);
s_list *new_slist(void *content);
void s_lstadd_back(s_list **alst, s_list *new);
s_list *s_lstlast(s_list *lst);
void s_lstclear(s_list **lst);
void printf_slist(s_list *start);
t_list *ft_sa_sb(t_list **list, s_list **process, char type, int set);
t_list *ft_ra_rb(t_list **list, s_list **process, char type);
t_list *ft_pa(t_list **list_a, t_list **list_b, s_list **process);
t_list *ft_pb(t_list **list_a, t_list **list_b, s_list **process);
t_list *ft_rra_rrb(t_list **list, s_list **process, char type);
t_list *swap(t_list *a, t_list **b, s_list **action, t_list *to_swap);
t_list *make_list(int place, t_list *list, s_list *action, char type);
t_list *swap_to_a(t_list *a, t_list *b, t_list *start_b, s_list *action);
int find_place_for_b(t_list *list, int index, int size_b);
int find_nbr(int size_b, t_list *a, t_list *b, int index_b);
void swap_to_b(t_list *list, t_list *best, t_list *b, int loop);
t_list *turn_list(t_list *a, s_list *action);
void printf_list(t_list *start);
#endif