Ejemplo n.º 1
0
void		ft_btreeadd(t_btree **root, t_data *data,
		int (*cmp)(const t_btree *, const t_btree *))
{
	t_btree	*add;
	t_btree *tmp;

	if (!root || !data || !cmp)
		return ;
	add = ft_btreenew(data->data, data->data_size);
	if (!*root)
	{
		add->color = RB_BLACK;
		return ((void)(*root = add));
	}
	my_add(*root, add, cmp);
	tmp = add;
	while (*root != add && add->parent->color == RB_RED)
	{
		if (add->parent == add->parent->parent->left)
			my_check(root, &add, tmp, 1);
		else
			my_check(root, &add, tmp, 0);
	}
	(*root)->color = RB_BLACK;
}
Ejemplo n.º 2
0
int	       	main(int ac, char **av)
{
  t_ints	*ints;
  t_line	line;
  t_vd		vd;
  t_eq		eq;

  if ((ints = malloc(sizeof(t_ints))) == NULL)
    return (1);
  if (ac > 9)
    arg_sup(ac);
  if (ac < 9)
    arg_low();
   if (my_getnbr(av[5]) == 0 && my_getnbr(av[6]) == 0 && my_getnbr(av[7]) == 0)
     check_vec();
  if (my_getnbr(av[8]) <= 0)
      my_check();
  check_my_arguments(av);
  my_intersection(ac, av, ints);
  free(ints);
  return (0);
}