Tengo una duda sobre si es posible anidar listas enlazadas, es decir una lista enlazada por cada nodo que cree de otra lista enlazada.
He hecho un código, parece funcionar, pero solo me muestra el ultimo nodo insertado, dejo el código aquí puesto por si podeís ayudarme a corregir los posibles errores que pueda a ver o si no es posible anidar una lista dentro de otra.
Código
Un saludo y gracias por todo.
#include <stdio.h> #include <stdlib.h> typedef struct Articulo { int numero; int numero2; struct Articulo *sig; }TLista; typedef struct nodo_art { int codigo; TLista *primero; struct nodo_art *sig; }lista; int add_nod(lista **first,int a,int b,int c){ lista *nuevo,*aux; TLista *nuevonum,*aux2; nuevo->codigo = a; nuevo->sig = NULL; nuevo->primero = NULL; nuevonum->numero = b; nuevonum->numero2 = c; nuevonum->sig = NULL; if(nuevo->primero == NULL){ nuevo->primero = nuevonum; } else { aux2 = nuevo->primero; while(aux2->sig != NULL){ aux2 = aux2->sig; } aux2->sig = nuevonum; } if(*first == NULL){ *first = nuevo; } else { aux = *first; while(aux->sig != NULL){ aux = aux->sig; } aux->sig = nuevo; } } int see_list(lista *first){ lista *aux; if(first == NULL){return -1;} while(aux != NULL){ aux = aux->sig; } } int main(){ lista *first; first = NULL; add_nod(&first,5,3,5); add_nod(&first,3,2,7); add_nod(&first,4,3,2); see_list(first); }