Lista Concatenada

Run Settings
LanguageC
Language Version
Run Command
#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"); }
Editor Settings
Theme
Key bindings
Full width
Lines