Quick actions

cmd+k|ctrl+k

Navigation

Languages

Lista Concatenada

Snippet info

Language

C

Visibility

public

Author

gustavo1995

Created

2018-04-19T22:13:36Z

Updated

2018-04-19T23:29:54Z

#include <stdio.h>
#include <stdlib.h>

typedef struct estru
{
    int id;
    int numero;
    struct estru *prox;
}lista;

 lista *p, *q, *prim, *prim2,*prim1;
 int qtd = 0, i = 0;
 
void insere(int num)
{
    
    p = malloc(sizeof(lista));
    p->numero = num;
    p->prox = NULL;
    
    if (prim == NULL)
    {
        prim = p;
        p->id = 0;
    }
    
    else
    {
        q->prox = p;
        p->id = ++q->id;
    }
    
    q = p;
}

void criarLista(){
    
        for (i = 0; i < qtd; i++)
    {
        insere(rand()%10000);
    }
}

void exibirLista(){
    
    while ((p != NULL))
    {
        printf("%d ->", p->numero);
        p = p->prox;
    }
}

void concatenarLista(lista *lista1, lista *lista2)
{
    p = lista1;

    while ((p->prox != NULL))
        p = p->prox;
    
    p->prox = lista2;
    lista2 = NULL;
    
}

int main()
{
    prim = NULL;
    printf("Informe a quantidade:\n ");
    scanf("%u", &qtd);
    
    criarLista();
    p = prim;
    printf("Lista:\n ");
    exibirLista();
    
    prim1 = prim;
    prim = NULL;
    
    criarLista();
    p = prim2 = prim;
    printf("\nLista:\n ");
    exibirLista();
    
    concatenarLista(prim1, prim2);
    
    p = prim1;
    printf("\nLista concatenada:\n ");
    exibirLista();
    
    
    

    
    
    printf("Fim da Lista\n");
    
}
INFO