summaryrefslogtreecommitdiff
path: root/include/push_swap.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/push_swap.h')
-rw-r--r--include/push_swap.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/include/push_swap.h b/include/push_swap.h
new file mode 100644
index 0000000..fd30ae2
--- /dev/null
+++ b/include/push_swap.h
@@ -0,0 +1,57 @@
+#ifndef PUSH_SWAP_H
+
+# define PUSH_SWAP_H
+
+# include "../lib/libft.h"
+# include <stdio.h>
+# include <stdlib.h>
+# include <unistd.h> // for write
+
+/* rules */
+void push(t_list **src, t_list **dst);
+void swap(t_list **stack);
+void rotate(t_list **stack);
+void rrotate(t_list **stack);
+void pb(t_list **stack_a, t_list **stack_b);
+void pa(t_list **stack_b, t_list **stack_a);
+void rrb(t_list **stack);
+void rra(t_list **stack);
+void rrr(t_list **stack_a, t_list **stack_b);
+void sb(t_list **stack);
+void sa(t_list **stack);
+void ss(t_list **stack_a, t_list **stack_b);
+void ra(t_list **stack);
+void rb(t_list **stack);
+void rr(t_list **stack_a, t_list **stack_b);
+void rotate_stacks(int position_a, int position_b, t_list **src,
+ t_list **dst);
+
+/*sort*/
+void sort_two(t_list **stack);
+void sort_three(t_list **stack);
+void sort_five(t_list **src);
+void sort(t_list **src);
+int find_smallest(t_list *stack);
+void move_smallest_value_dst(t_list **src, t_list **dst,
+ int position_smallest_value);
+void reset_index(t_list *stack);
+
+/*work with linked lists*/
+t_list *ft_lstmin(t_list *stack);
+t_list *ft_lstmax(t_list *stack);
+
+/* remove */
+void pstack(t_list *stack, char c);
+
+/* error checking */
+void puterror(t_list *src);
+int is_dup(t_list *stack);
+int is_limit_int(t_list *stack);
+int is_valid_int(char **array);
+void check_errors(t_list *src);
+
+/* free */
+void free_stack(t_list *stack);
+void free_array(char **array);
+
+#endif