Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] esercizio algoritmo fusione URGENTE

    Il testo dell'esercizio è:
    Scrivere la funzione C che realizza l'algoritmo di fusione su una lista collegata con puntatori. La funzione
    riceve in ingresso due doppi puntatori ptrptr1 e ptrptr2,dove ptrptr1 punta alla prima metà della
    lista e ptrptr2 alla seconda metà della lista. Le due semi-liste puntate da ptrptr1 e ptrptr2 sono
    ordinate. La lista risultato ordinata deve essere puntata da ptrptr1 e deve essere generata spostando gli
    elementi delle due semi-liste senza utilizzare nuove allocazioni/deallocazioni della memoria (NOTA: la lista
    puntata da ptrptr2 è una sottolista di quella puntata da ptrptr1).

    Potreste gentilmente verificare la correttezza di questo programma ed eventualmente indicarmi dove ho sbagliato..Grazie!

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

    struct list {
    float value;
    struct list *next_ptr;
    };

    int LunghezzaLista( struct list *ptr);

    void main(void)

    {
    int value;
    struct list *ptr;


    void merge(struct list *ptrptr1, struct list *ptrptr2)
    {
    int length;

    length=LunghezzaLista(ptr);

    while (ptr!=(ptr+length/2)->next_ptr)
    {
    ptrptr1->value=ptr->value;
    ptr=ptr->next_ptr;
    }
    while (ptr!=NULL)
    {
    ptrptr2->value=ptr->next_ptr->value;
    ptr=ptr->next_ptr;
    }
    while(ptrptr1!=ptrptr1+length/2 && ptrptr2!=NULL)
    {
    if(ptrptr1->value < ptrptr2->value)
    ptrptr1=(ptrptr1->next_ptr);
    else
    {
    ptrptr1->next_ptr=ptrptr2;
    ptrptr2=ptrptr2->next_ptr;
    }
    }
    return;
    }
    return;
    }


    int LunghezzaLista( struct list *ptr)
    {
    int length=0;
    while (ptr != NULL)
    {
    length++;
    ptr->next_ptr;
    }
    printf("la lista contiene:",length);
    return length;
    }

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Intanto cn merge nn dai modo di pensare alla fusione/fissione.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    scusa ma non ho capito cosa vorresti dire.. potresti spiegarti meglio grazie!

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Io avrei usato unione e non fusione.
    Per gli Spartani e Sparta usa spartan Il mio github

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 © 2025 vBulletin Solutions, Inc. All rights reserved.