Ejemplo n.º 1
0
t_list	*ft_lstfrom_btree_suffix(t_btree *root)
{
	t_list	*lst;
	t_list	*last;

	if (!root)
		return (NULL);
	lst = NULL;
	if (root->left)
		lst = ft_lstfrom_btree_suffix(root->left);
	if (root->right)
	{
		if ((last = ft_lstlast(lst)))
			last->next = ft_lstfrom_btree_suffix(root->right);
		else
		{
			last = ft_lstfrom_btree_suffix(root->right);
			lst = last;
		}
	}
	if ((last = ft_lstlast(lst)))
		last->next = ft_lstnew(&root, sizeof(root));
	else
		lst = ft_lstnew(&root, sizeof(root));
	return (lst);
}
Ejemplo n.º 2
0
t_list	*ft_lstmerge(t_list *l1, t_list *l2)
{
    t_list	*tmp;

    if ((tmp = ft_lstlast(l1)))
        tmp->next = l2;
    return (l1);
}
Ejemplo n.º 3
0
t_list	*ft_lstlast(t_list *lst)
{
	if (lst->next)
		return (ft_lstlast(lst->next));
	return (lst);
}