Lista di Lista

di il
1 risposte

Lista di Lista

Salve a tutti ragazzi sto cercando di fare un programma che fa inserire dei numeri interi in una lista, dopo l'inserimento chiede se si vuole creare una sottolista. Se si, bisogna scegliere in quale elemento della lista si vuole creare la sottolista, viene cercato questo elemento e se esiste fa inserire i dati.

Per quanto riguarda la prima parte fino alla creazione, inserimento, ricerca dell'elemento nella lista, sono riuscito a fare tutto. Il problema è l'inserimento nella sotto lista. Vi allego il codice della sola struttura che ho creato:

struct nodo
{
    int dato;
    struct nodo *next;
    struct sotto_nodo
    {
        int dato1;
        struct sotto_nodo *next1;
    };
};

//VARI TYPEDEF

typedef struct nodo Nodo;
typedef struct sotto_nodo Sotto_Nodo;
typedef Nodo *NodoPtr;
typedef Sotto_Nodo *Sotto_NodoPtr;
La funzioni per la creazione e per l'inserimento nella lista sono le seguenti
CREAZIONE :

NodoPtr crea_lista_principale (int elemento1)    
{
    NodoPtr head_p = malloc(sizeof(Nodo));       
    head_p -> dato = elemento1;                 
    head_p -> next = NULL;                       
    return head_p;                               
};
INSERIMENTO:

void inserimento_lista_principale(NodoPtr *testa1, int elemento_p) 
{
    NodoPtr nuovoPtr1 = malloc(sizeof(Nodo));     
    nuovoPtr1 -> dato = elemento_p;            
    nuovoPtr1 -> next = *testa1;                  
    *testa1 = nuovoPtr1;                          
};
Queste due funzioni vanno bene, perchè le ho provate utlizzando un'altra funzione che mi stampa la lista.
Il problema è che non capisco bene come fare a creare la funzione per l'inserimento degli altri interi in una sottolista.

Facendo una funzione simile a quella di inserimento che ho allegato sopra quello che succede è che gli elementi vengono memorizzati nella sotto lista relativa all'ultimo elemento inserito e non in quella relativa all'elemento che ho scelto.

Non so se sono stato abbastanza chiaro ma quello che voglio riuscire a fare alla fine di tutto ciò è un compito d'esame, che attraverso una
struttura cliente permette di inserire i dati di un cliente e per ogni cliente bisogna fare una sottolista che permette di inserire tutti i movimenti bancari di questo cliente. Per fare ciò però sto cercando di fare questo esercizio più semplice che mi permette di creare una lista di lista


Grazie a tutti in anticipo

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte