Mi scuso innanzitutto per il thread precedente..
dovrei scrivere una funzione C che realizza l'algoritmo di fusione su una lista collegata a puntatori, in ingresso ho due doppi puntatori ptrptr1 e ptrptr2 che puntano uno alla prima e uno alla seconda metà della lista, entrambe le parti sono ordinate. La lista finale deve essere generata su ptrptr1 senza utilizzare nuove allocazioni di memoria per lo spostamento.
Il mio problema è legato all'utlizzo dei puntatori, in particolare a come controllare gli elementi di ptrptr1 e quelli di ptrptr2 e all'inserimento senza nuova allocazione di memoria..
Spero che qualcuno possa essermi di aiuto!
Questo è quello che ho scritto io.. vi chiederei gentilemente di indicarmi gli errori e suggerirmi come corregerli..
#include <stdio.h>
#include <stdlib.h>
typedef unsigned int boolean;
#define TRUE 1
#define FALSE 0



void main(void)
{
struct list {
float value;
struct list *next_ptr;
};


void merge(struct list **ptrptr1, struct list **ptrptr2)
{

while(ptrptr1->next_ptr!=ptrptr2 && ptrptr2!=NULL)
{
if(ptrptr1->value < ptrptr2->value)
ptrptr1=ptrptr1->next_ptr;
else
{ptrptr1->next_ptr=ptrptr2;
ptrptr2=ptrptr2->next_ptr;
}
printf("lista ordinata\n");
}
}
return;
}