Skip to content
Snippets Groups Projects
Commit b6377ae4 authored by Leonardo Krambeck's avatar Leonardo Krambeck
Browse files

arruma e finaliza intercala

parent cf5de56d
Branches
No related tags found
No related merge requests found
......@@ -76,32 +76,32 @@ int intercala_listas(t_lista *l, t_lista *m, t_lista *i)
if (!inicializa_lista (i))
return 0;
int item;
while (!lista_vazia(l) || !lista_vazia(m))
if (!inicializa_atual_inicio(l))
return 0;
if (!inicializa_atual_inicio(m))
return 0;
int item1, item2;
while (consulta_item_atual(&item1, l) && consulta_item_atual(&item2, m))
{
consulta_item_atual(&item, l);
incrementa_atual(l);
insere_inicio_lista(item, i);
insere_fim_lista(item1, i);
insere_fim_lista(item2, i);
consulta_item_atual(&item, m);
incrementa_atual(l);
incrementa_atual(m);
insere_inicio_lista(item, i);
}
if (lista_vazia(l))
while (!lista_vazia(m))
while (consulta_item_atual(&item1, l))
{
consulta_item_atual(&item, m);
incrementa_atual(m);
insere_inicio_lista(item, i);
insere_fim_lista(item1, i);
incrementa_atual(l);
}
else
while (!lista_vazia(l))
while (consulta_item_atual(&item2, m))
{
consulta_item_atual(&item, l);
incrementa_atual(l);
insere_inicio_lista(item, i);
insere_fim_lista(item2, i);
incrementa_atual(m);
}
return 1;
......
......@@ -10,7 +10,7 @@ int main()
inicializa_lista(&u);
inicializa_lista(&w);
printf("insere inicio e fim:\n");
printf("insere inicio e fim em l:\n");
insere_inicio_lista(10,&l);
insere_inicio_lista(20,&l);
insere_inicio_lista(5,&l);
......@@ -21,13 +21,16 @@ int main()
imprime_lista(&l);
printf("\n\n");
printf("copia:\n");
printf("copia l em u e w:\n");
copia_lista(&l, &u);
printf ("lista u: ");
imprime_lista(&u);
copia_lista(&l, &w);
printf ("\nlista w: ");
imprime_lista(&w);
printf("\n\n");
printf("concatena:\n");
printf("concatena u em l:\n");
concatena_listas(&l, &u);
printf ("lista l: ");
imprime_lista(&l);
......@@ -36,16 +39,23 @@ int main()
imprime_lista(&u);
printf("\n\n");
printf("ordena:\n");
printf("ordena l:\n");
ordena_lista(&l);
printf ("lista l: ");
imprime_lista(&l);
printf("\n");
printf("\n\n");
destroi_lista(&u);
printf("destruindo u\n\n");
printf("intercala:\n");
intercala_listas(&l, &l, &w);
printf ("lista w: ");
printf("intercala l com w em u:\n");
printf("lista l: ");
imprime_lista(&l);
printf("\nlista w: ");
imprime_lista(&w);
intercala_listas(&l, &w, &u);
printf ("\nlista u: ");
imprime_lista(&u);
printf("\n");
destroi_lista(&l);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment