/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* tools.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/12/07 18:37:38 by erey-bet #+# #+# */ /* Updated: 2022/12/07 18:37:39 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "push_swap.h" int get_min(long *tab, int len) { int i; int index; i = 0; index = 0; while (++i < len) if (tab[i] <= tab[index]) index = i; return (index); } long *get_index(long *tab, int len) { int i; int min; long *new; i = -1; min = tab[0]; new = malloc(sizeof(long) * (len + 1)); if (new == NULL) return (NULL); while (++i < len) { min = get_min(tab, len); tab[min] = 2147483648; new[min] = i; } return (new); } int max_len_binary(t_stack s) { long i; int x; int y; int max; y = -1; max = 1; while (++y < s.len) { i = 1; x = 1; while (i < s.list[y]) { i *= 2; x++; } if (x > max) max = x; } return (max); } int check_sa(t_stack s) { int i; i = 0; while (i < s.len - 1) { if (s.list[i] > s.list[i + 1]) { return (0); } i++; } return (1); }