Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    13

    Problema con liste in C

    Ciao a tutti devo fare un esercizio che legga da tastiera due insiemi di numeri non negativi memorizzandoli in due liste dinamiche ordinate in senso crescente L1 e L2 e di queste liste calcolare:
    L'unione ordinata L1 U L2.
    Le liste devono essere implementate per mezzo di memoria dinamica.
    Il mio problema è che non riesco ad implementare questa funzione: lista unione(lista L1, lista L2), crea la lista L1 U L2 e ritorna il puntatore al nodo di testa. Cosa posso fare? sono due giorni che ci sclero.
    l codice che ho fatto io è questo:

    lista unione(lista L1, lista L2){
    lista temp;


    if((L1 == NULL) && (L2 == NULL)) return NULL;
    else if((L1 == NULL) && (L2 != NULL))return L2;
    else if((L1 != NULL) && (L2 == NULL))return L1;

    while(L1 != NULL){
    temp->x = L1->x;
    temp = temp->next;
    L1 = L1->next;
    }
    while(L2 != NULL){
    temp->x = L2->x;
    temp = temp->next;
    L2 = L2->next;
    }
    return temp;
    }

    la compilazione avviene con successo mi fa inserire i dati però quando deve stampare a video esce dal programma...grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    ... manca l'allocazione della nuova lista (nel caso tu ne voglia creare una nuova)

    in ogni caso, le liste non vanno concatenate una dopo l'altra ma "unite" in modo da mantenere l'ordine.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.