diff options
| author | nass1pro <nass1pro@gmail.com> | 2020-06-12 13:52:58 +0200 |
|---|---|---|
| committer | nass1pro <nass1pro@gmail.com> | 2020-06-13 11:45:50 +0200 |
| commit | d971bd8d16608f316396aba7a579d0b1f1af5aeb (patch) | |
| tree | 98ec558582ed20a120e13b4a376fd206fb620da0 /test_mini/libft/src/algo | |
| parent | 3136f59540a8dd29e2f096be5a8943e2ddd28431 (diff) | |
| download | minishell-d971bd8d16608f316396aba7a579d0b1f1af5aeb.tar.gz minishell-d971bd8d16608f316396aba7a579d0b1f1af5aeb.tar.bz2 minishell-d971bd8d16608f316396aba7a579d0b1f1af5aeb.zip | |
Added e_token enum
Diffstat (limited to 'test_mini/libft/src/algo')
| -rw-r--r-- | test_mini/libft/src/algo/ft_bsearch.c | 32 | ||||
| -rw-r--r-- | test_mini/libft/src/algo/ft_compar_int.c | 18 | ||||
| -rw-r--r-- | test_mini/libft/src/algo/ft_heapsort.c | 54 | ||||
| -rw-r--r-- | test_mini/libft/src/algo/ft_is_set.c | 32 | ||||
| -rw-r--r-- | test_mini/libft/src/algo/ft_lfind.c | 28 | ||||
| -rw-r--r-- | test_mini/libft/src/algo/ft_lsearch.c | 23 | ||||
| -rw-r--r-- | test_mini/libft/src/algo/ft_mergesort.c | 76 | ||||
| -rw-r--r-- | test_mini/libft/src/algo/ft_qsort.c | 64 | ||||
| -rw-r--r-- | test_mini/libft/src/algo/ft_reverse.c | 27 |
9 files changed, 0 insertions, 354 deletions
diff --git a/test_mini/libft/src/algo/ft_bsearch.c b/test_mini/libft/src/algo/ft_bsearch.c deleted file mode 100644 index 5132fa2..0000000 --- a/test_mini/libft/src/algo/ft_bsearch.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_bsearch.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:29:05 by cacharle #+# #+# */ -/* Updated: 2020/02/13 23:14:48 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -void *ft_bsearch(const void *base, size_t nel, size_t width, - t_ftsearch_const *consts) -{ - int res; - size_t mid; - - if (nel < 1) - return (NULL); - mid = nel / 2; - res = (consts->compar)(consts->key, base + mid * width); - if (res == 0) - return ((void*)base + mid * width); - if (res < 0) - return (ft_bsearch(base, mid, width, consts)); - else - return (ft_bsearch(base + (mid + 1) * width, nel - mid - 1, - width, consts)); -} diff --git a/test_mini/libft/src/algo/ft_compar_int.c b/test_mini/libft/src/algo/ft_compar_int.c deleted file mode 100644 index 848dc71..0000000 --- a/test_mini/libft/src/algo/ft_compar_int.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_compar_int.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/19 08:24:43 by cacharle #+# #+# */ -/* Updated: 2020/01/19 08:27:38 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_compar_int(const void *a, const void *b) -{ - return (*(int*)a - *(int*)b); -} diff --git a/test_mini/libft/src/algo/ft_heapsort.c b/test_mini/libft/src/algo/ft_heapsort.c deleted file mode 100644 index d309624..0000000 --- a/test_mini/libft/src/algo/ft_heapsort.c +++ /dev/null @@ -1,54 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_heapsort.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 02:59:22 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:22:19 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -/* static void st_build_max_heap(void *base, size_t nel, size_t width, */ -/* int (*compar)(const void *, const void *)) */ -/* { */ -/* int i; */ -/* */ -/* i = 1; */ -/* while (i < nel) */ -/* { */ -/* compar(base + i * width, base + 2 * i * width) */ -/* */ -/* i++; */ -/* } */ -/* } */ -/* */ -/* static void st_heapify(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)base; - (void)nel; - (void)width; - (void)compar; - /* size_t i; */ - /* */ - /* if (nel < 2) */ - /* return (0); */ - /* st_build_max_heap(base, nel, width, compar); */ - /* i = -1; */ - /* while (++i < nel) */ - /* { */ - /* ft_memswap(base, base + (nel - i - 1) * width); */ - /* st_heapify(base, nel - i - 1, width, compar); */ - /* } */ - return (0); -} diff --git a/test_mini/libft/src/algo/ft_is_set.c b/test_mini/libft/src/algo/ft_is_set.c deleted file mode 100644 index 3e7ae31..0000000 --- a/test_mini/libft/src/algo/ft_is_set.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_is_set.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/19 07:17:15 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:51:41 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_algo.h" - -t_ftbool ft_is_set(void *base, size_t nel, size_t width, - t_ftcompar_func compar) -{ - size_t i; - - if (nel < 2) - return (TRUE); - ft_qsort(base, nel, width, compar); - i = 0; - while (i < nel - 1) - { - if (compar(base + (i * width), base + ((i + 1) * width)) == 0) - return (FALSE); - i++; - } - return (TRUE); -} diff --git a/test_mini/libft/src/algo/ft_lfind.c b/test_mini/libft/src/algo/ft_lfind.c deleted file mode 100644 index 8538f50..0000000 --- a/test_mini/libft/src/algo/ft_lfind.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lfind.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:49:19 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:58:19 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -void *ft_lfind(const void *base, size_t *nelp, size_t width, - t_ftsearch_const *consts) -{ - size_t i; - - i = 0; - while (i < *nelp) - { - if ((consts->compar)(consts->key, base + i * width) == 0) - return ((void*)base + i * width); - i++; - } - return (NULL); -} diff --git a/test_mini/libft/src/algo/ft_lsearch.c b/test_mini/libft/src/algo/ft_lsearch.c deleted file mode 100644 index 4c77bca..0000000 --- a/test_mini/libft/src/algo/ft_lsearch.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lsearch.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:53:57 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:59:33 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -void *ft_lsearch(const void *base, size_t *nelp, size_t width, - t_ftsearch_const *consts) -{ - void *found; - - if ((found = ft_lfind(base, nelp, width, consts)) != NULL) - return (found); - return (ft_memcpy((void*)base + (*nelp)++ * width, consts->key, width)); -} diff --git a/test_mini/libft/src/algo/ft_mergesort.c b/test_mini/libft/src/algo/ft_mergesort.c deleted file mode 100644 index 25b4255..0000000 --- a/test_mini/libft/src/algo/ft_mergesort.c +++ /dev/null @@ -1,76 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_mergesort.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 02:26:41 by cacharle #+# #+# */ -/* Updated: 2020/02/13 23:14:21 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -static int st_mergesort_error(void *left, void *right) -{ - free(left); - free(right); - return (-1); -} - -static void st_merge_sorted(struct s_merge_sorted_arrays *arrays, size_t nel, - size_t width, int (*compar)(const void *, const void *)) -{ - size_t bi; - size_t li; - size_t ri; - size_t mid; - - mid = nel / 2; - bi = 0; - li = 0; - ri = 0; - while (li < mid && ri < nel - mid) - { - if (compar(arrays->left + li * width, arrays->right + ri * width) < 0) - ft_memcpy(arrays->base + bi * width, - arrays->left + li++ * width, width); - else - ft_memcpy(arrays->base + bi * width, - arrays->right + ri++ * width, width); - bi++; - } - while (li < mid) - ft_memcpy(arrays->base + bi++ * width, - arrays->left + li++ * width, width); - while (ri < nel - mid) - ft_memcpy(arrays->base + bi++ * width, - arrays->right + ri++ * width, width); -} - -int ft_mergesort(void *base, size_t nel, size_t width, - int (*compar)(const void *, const void *)) -{ - size_t mid; - struct s_merge_sorted_arrays arrays; - - if (nel < 2) - return (0); - mid = nel / 2; - if ((arrays.left = malloc(mid * width)) == NULL) - return (-1); - if ((arrays.right = malloc((nel - mid) * width)) == NULL) - return (st_mergesort_error(arrays.left, NULL)); - ft_memcpy(arrays.left, base, mid * width); - ft_memcpy(arrays.right, base + mid * width, (nel - mid) * width); - if (ft_mergesort(arrays.left, mid, width, compar) == -1) - return (st_mergesort_error(arrays.left, arrays.right)); - if (ft_mergesort(arrays.right, nel - mid, width, compar) == -1) - return (st_mergesort_error(arrays.left, arrays.right)); - arrays.base = base; - st_merge_sorted(&arrays, nel, width, compar); - free(arrays.left); - free(arrays.right); - return (0); -} diff --git a/test_mini/libft/src/algo/ft_qsort.c b/test_mini/libft/src/algo/ft_qsort.c deleted file mode 100644 index 9bcfcdf..0000000 --- a/test_mini/libft/src/algo/ft_qsort.c +++ /dev/null @@ -1,64 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_qsort.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/19 07:25:51 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:55:14 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -static t_ftrange ft_range_new(int lo, int hi) -{ - t_ftrange range; - - range.lo = lo; - range.hi = hi; - return (range); -} - -static int ft_qsort_partition(void *base, t_ftrange range, - size_t width, t_ftcompar_func compar) -{ - void *pivot; - int p; - int i; - - pivot = base + (range.hi * width); - p = range.lo; - i = range.lo - 1; - while (++i < range.hi) - { - if (compar(base + (i * width), pivot) < 0) - { - ft_memswap(base + (i * width), base + (p * width), width); - p++; - } - } - ft_memswap(pivot, base + (p * width), width); - return (p); -} - -static void ft_qsort_rec(void *base, t_ftrange range, - size_t width, t_ftcompar_func compar) -{ - int pivot; - - if (range.lo >= range.hi) - return ; - pivot = ft_qsort_partition(base, range, width, compar); - ft_qsort_rec(base, ft_range_new(range.lo, pivot - 1), width, compar); - ft_qsort_rec(base, ft_range_new(pivot + 1, range.hi), width, compar); -} - -void ft_qsort(void *base, size_t nel, size_t width, - t_ftcompar_func compar) -{ - if (width == 0 || nel < 2) - return ; - ft_qsort_rec(base, ft_range_new(0, nel - 1), width, compar); -} diff --git a/test_mini/libft/src/algo/ft_reverse.c b/test_mini/libft/src/algo/ft_reverse.c deleted file mode 100644 index 0bc447f..0000000 --- a/test_mini/libft/src/algo/ft_reverse.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_reverse.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:07:13 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:19:22 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -void ft_reverse(void *base, size_t nel, size_t width) -{ - size_t i; - - i = 0; - nel--; - while (i < nel) - { - ft_memswap(base + i * width, base + nel * width, width); - i++; - nel--; - } -} |
