85 lines
2.8 KiB
C
85 lines
2.8 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* :::::::: */
|
|
/* push_swap.h :+: :+: */
|
|
/* +:+ */
|
|
/* By: houtworm <codam@houtworm.net> +#+ */
|
|
/* +#+ */
|
|
/* Created: 2023/10/26 19:03:11 by houtworm #+# #+# */
|
|
/* Updated: 2023/10/26 19:03:11 by houtworm ######## odam.nl */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#ifndef PUSH_SWAP_H
|
|
# define PUSH_SWAP_H
|
|
|
|
# include <unistd.h>
|
|
# include "libft/libft.h"
|
|
# include "printf/ft_printf.h"
|
|
# include "getnextline/get_next_line.h"
|
|
|
|
typedef struct s_stack
|
|
{
|
|
long data;
|
|
long id;
|
|
struct s_stack *n;
|
|
struct s_stack *p;
|
|
} t_stack;
|
|
|
|
typedef struct s_varlist
|
|
{
|
|
struct s_stack *a;
|
|
struct s_stack *b;
|
|
long high;
|
|
long low;
|
|
long moves;
|
|
long nbrs;
|
|
int direction;
|
|
long idcounter;
|
|
long oldlow;
|
|
long hdiv;
|
|
long ldiv;
|
|
long odiv;
|
|
} t_varlist;
|
|
|
|
int initstack(t_varlist *vl, long value);
|
|
int popb(t_varlist *vl, int print);
|
|
int popa(t_varlist *vl, int print);
|
|
int printlist(t_varlist *vl, char c);
|
|
int charactercheck(char **stack);
|
|
int finddouble(char **stack);
|
|
int sa(t_varlist *vl, int print);
|
|
int sb(t_varlist *vl, int print);
|
|
int ss(t_varlist *vl, int print);
|
|
int pa(t_varlist *vl, int print);
|
|
int pb(t_varlist *vl, int print);
|
|
int ra(t_varlist *vl, int print);
|
|
int rb(t_varlist *vl, int print);
|
|
int rr(t_varlist *vl, int print);
|
|
int rra(t_varlist *vl, int print);
|
|
int rrb(t_varlist *vl, int print);
|
|
int rrr(t_varlist *vl, int print);
|
|
int idall(t_varlist *vl);
|
|
void threenumbers(t_varlist *vl);
|
|
int findhighlow(t_varlist *vl, char stack);
|
|
int highorlow(t_varlist *vl);
|
|
int upordownbetween(t_varlist *vl);
|
|
void matchatob(t_varlist *vl);
|
|
int upordownfinal(t_varlist *vl);
|
|
int lowontop(t_varlist *vl);
|
|
void fourtothirty(int i, t_varlist *vl);
|
|
int findfastroutehigh(t_varlist *vl, char stack);
|
|
int findfastroutelow(t_varlist *vl, char stack);
|
|
void sorttostacklow(t_varlist *vl);
|
|
void sorttostackhigh(t_varlist *vl);
|
|
void dividetostack(t_varlist *vl);
|
|
void morethanthirty(t_varlist *vl, int division);
|
|
void thirtyorless(int argc, t_varlist *vl);
|
|
t_varlist *create_struct(t_varlist *vl);
|
|
int printall(t_varlist *vl);
|
|
int freeall(t_varlist *vl);
|
|
int errorreturn(t_varlist *vl, int type);
|
|
long long ft_ps_atol(char *str);
|
|
|
|
#endif
|