diff --git a/srcs/edmunds_karp.c b/srcs/edmunds_karp.c index 1b2dc97..d00442d 100644 --- a/srcs/edmunds_karp.c +++ b/srcs/edmunds_karp.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/28 16:21:19 by tmaze #+# #+# */ -/* Updated: 2019/04/05 15:13:53 by tmaze ### ########.fr */ +/* Updated: 2019/04/07 12:50:24 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,16 +20,19 @@ static void update_weights(t_lmdata *data, t_bfs *tab, int end_ind) i = end_ind; while (i != -1) { - it = data->adj[tab[i].parent]; - while (it && it->index != i) - it = it->next; - if (it && it->index == i) - it->weight--; - it = data->adj[i]; - while (it && it->index != tab[i].parent) - it = it->next; - if (it && it->index == tab[i].parent) - it->weight++; + if (tab[i].parent != -1) + { + it = data->adj[tab[i].parent]; + while (it && it->index != i) + it = it->next; + if (it && it->index == i) + it->weight--; + it = data->adj[i]; + while (it && it->index != tab[i].parent) + it = it->next; + if (it && it->index == tab[i].parent) + it->weight++; + } i = tab[i].parent; } }