/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_algo.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/01/19 07:22:57 by cacharle #+# #+# */ /* Updated: 2020/02/10 05:17:39 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef LIBFT_ALGO_H # define LIBFT_ALGO_H # include # include # include "libft_mem.h" # include "libft_types.h" typedef struct { int lo; int hi; } t_ftrange; struct s_merge_sorted_arrays { void *base; void *left; void *right; }; typedef int (*t_ftcompar_func)(const void*, const void*); t_ftbool ft_is_set(void *base, size_t nel, size_t width, t_ftcompar_func compar); int ft_compar_int(const void *a, const void *b); void ft_qsort(void *base, size_t nel, size_t width, t_ftcompar_func compar); int ft_mergesort(void *base, size_t nel, size_t width, int (*compar)(const void *, const void *)); int ft_heapsort(void *base, size_t nel, size_t width, int (*compar)(const void *, const void *)); void ft_reverse(void *base, size_t nel, size_t width); #endif