testing things

thinking of how to display the ants moving and optimise by moving at
least one on each path
This commit is contained in:
Tanguy MAZE
2019-04-05 17:43:17 +02:00
parent 0a9d7b816d
commit c36f501b08
5 changed files with 144 additions and 93 deletions

View File

@@ -6,20 +6,61 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/28 11:37:06 by tmaze #+# #+# */
/* Updated: 2019/04/05 13:59:02 by tmaze ### ########.fr */
/* Updated: 2019/04/05 17:43:06 by tmaze ### ########.fr */
/* */
/* ************************************************************************** */
#include "lem_in.h"
#define NB_NODES 4
#define NB_NODES 8
#define NB_ANTS 20
int add_link(t_lmdata *data, int n1, int n2)
int add_link(t_lmdata *data, int n1, int n2)
{
return (lst_indadd(&(data->adj[n1]), n2) && lst_indadd(&(data->adj[n2]), n1));
}
int main(void)
t_node *get_node(t_lmdata *data, int index)
{
t_node *it;
it = data->node_data;
while (it && it->index != index)
it = it->next;
return (it);
}
void push_ants(t_lmdata *data, t_ind **paths, int nb_paths, int nb_ants)
{
t_ind *its[nb_path];
int ant_p[nb_path];
int ant_c;
int i;
char end;
i = 0;
end = 0;
while (i < nb_paths)
{
its[i] = paths[i];
i++;
}
ant_c = 0;
while (++ant_c <= nb_paths)
ant_p[ant_c - 1] = ant_c]
while (!end)
{
i = 0;
while (i < nb_paths)
{
ft_printf("L%d-%s", ant_p[i], get_node(data, its[i]->index)->name);
if (i < nb_path - 1)
ft_putchar(' ');
i++;
}
}
int main(void)
{
t_lmdata data;
t_ind **path;
@@ -29,8 +70,73 @@ int main(void)
data.nb_nodes = NB_NODES;
if ((data.adj = (t_ind**)ft_memalloc(sizeof(t_ind*) * NB_NODES)) == NULL)
return (1);
if (!add_link(&data, 0, 2) || !add_link(&data, 0, 1) || !add_link(&data, 0, 3))
if (!add_link(&data, 0, 1) || !add_link(&data, 0, 2))
{
lst_inddel(&(data.adj[2]));
lst_inddel(&(data.adj[1]));
lst_inddel(&(data.adj[0]));
ft_memdel((void**)&(data.adj));
return (1);
}
if (!add_link(&data, 1, 4))
{
lst_inddel(&(data.adj[2]));
lst_inddel(&(data.adj[1]));
lst_inddel(&(data.adj[0]));
ft_memdel((void**)&(data.adj));
return (1);
}
if (!add_link(&data, 2, 3) || !add_link(&data, 2, 5))
{
lst_inddel(&(data.adj[4]));
lst_inddel(&(data.adj[3]));
lst_inddel(&(data.adj[2]));
lst_inddel(&(data.adj[1]));
lst_inddel(&(data.adj[0]));
ft_memdel((void**)&(data.adj));
return (1);
}
if (!add_link(&data, 3, 6))
{
lst_inddel(&(data.adj[5]));
lst_inddel(&(data.adj[4]));
lst_inddel(&(data.adj[3]));
lst_inddel(&(data.adj[2]));
lst_inddel(&(data.adj[1]));
lst_inddel(&(data.adj[0]));
ft_memdel((void**)&(data.adj));
return (1);
}
if (!add_link(&data, 4, 5))
{
lst_inddel(&(data.adj[6]));
lst_inddel(&(data.adj[5]));
lst_inddel(&(data.adj[4]));
lst_inddel(&(data.adj[3]));
lst_inddel(&(data.adj[2]));
lst_inddel(&(data.adj[1]));
lst_inddel(&(data.adj[0]));
ft_memdel((void**)&(data.adj));
return (1);
}
if (!add_link(&data, 5, 6) || !add_link(&data, 5, 7))
{
lst_inddel(&(data.adj[6]));
lst_inddel(&(data.adj[5]));
lst_inddel(&(data.adj[4]));
lst_inddel(&(data.adj[3]));
lst_inddel(&(data.adj[2]));
lst_inddel(&(data.adj[1]));
lst_inddel(&(data.adj[0]));
ft_memdel((void**)&(data.adj));
return (1);
}
if (!add_link(&data, 6, 7))
{
lst_inddel(&(data.adj[7]));
lst_inddel(&(data.adj[6]));
lst_inddel(&(data.adj[5]));
lst_inddel(&(data.adj[4]));
lst_inddel(&(data.adj[3]));
lst_inddel(&(data.adj[2]));
lst_inddel(&(data.adj[1]));
@@ -38,69 +144,6 @@ int main(void)
ft_memdel((void**)&(data.adj));
return (1);
}
/* if (!add_link(&data, 1, 4)) */
/* { */
/* lst_inddel(&(data.adj[2])); */
/* lst_inddel(&(data.adj[1])); */
/* lst_inddel(&(data.adj[0])); */
/* ft_memdel((void**)&(data.adj)); */
/* return (1); */
/* } */
/* if (!add_link(&data, 2, 3) || !add_link(&data, 2, 5)) */
/* { */
/* lst_inddel(&(data.adj[3])); */
/* lst_inddel(&(data.adj[2])); */
/* lst_inddel(&(data.adj[1])); */
/* lst_inddel(&(data.adj[0])); */
/* ft_memdel((void**)&(data.adj)); */
/* return (1); */
/* } */
/* if (!add_link(&data, 3, 6)) */
/* { */
/* lst_inddel(&(data.adj[5])); */
/* lst_inddel(&(data.adj[3])); */
/* lst_inddel(&(data.adj[2])); */
/* lst_inddel(&(data.adj[1])); */
/* lst_inddel(&(data.adj[0])); */
/* ft_memdel((void**)&(data.adj)); */
/* return (1); */
/* } */
/* if (!add_link(&data, 4, 5)) */
/* { */
/* lst_inddel(&(data.adj[6])); */
/* lst_inddel(&(data.adj[5])); */
/* lst_inddel(&(data.adj[3])); */
/* lst_inddel(&(data.adj[2])); */
/* lst_inddel(&(data.adj[1])); */
/* lst_inddel(&(data.adj[0])); */
/* ft_memdel((void**)&(data.adj)); */
/* return (1); */
/* } */
/* if (!add_link(&data, 5, 6) || !add_link(&data, 5, 7)) */
/* { */
/* lst_inddel(&(data.adj[6])); */
/* lst_inddel(&(data.adj[5])); */
/* lst_inddel(&(data.adj[4])); */
/* lst_inddel(&(data.adj[3])); */
/* lst_inddel(&(data.adj[2])); */
/* lst_inddel(&(data.adj[1])); */
/* lst_inddel(&(data.adj[0])); */
/* ft_memdel((void**)&(data.adj)); */
/* return (1); */
/* } */
/* if (!add_link(&data, 6, 7)) */
/* { */
/* lst_inddel(&(data.adj[7])); */
/* lst_inddel(&(data.adj[6])); */
/* lst_inddel(&(data.adj[5])); */
/* lst_inddel(&(data.adj[4])); */
/* lst_inddel(&(data.adj[3])); */
/* lst_inddel(&(data.adj[2])); */
/* lst_inddel(&(data.adj[1])); */
/* lst_inddel(&(data.adj[0])); */
/* ft_memdel((void**)&(data.adj)); */
/* return (1); */
/* } */
ft_printf("===== list of adj =====\n");
i = 0;
while (i < NB_NODES)
@@ -114,7 +157,7 @@ int main(void)
}
i++;
}
path = edmunds_karp(&data, 0, 1);
path = edmunds_karp(&data, 0, 7);
if (path != NULL)
{
i = 0;
@@ -131,10 +174,10 @@ int main(void)
}
}
tablst_inddel(path);
/* lst_inddel(&(data.adj[7])); */
/* lst_inddel(&(data.adj[6])); */
/* lst_inddel(&(data.adj[5])); */
/* lst_inddel(&(data.adj[4])); */
lst_inddel(&(data.adj[7]));
lst_inddel(&(data.adj[6]));
lst_inddel(&(data.adj[5]));
lst_inddel(&(data.adj[4]));
lst_inddel(&(data.adj[3]));
lst_inddel(&(data.adj[2]));
lst_inddel(&(data.adj[1]));