Salve a tutti, ho scritto una funzione che mi inserisce un nuovo nodo in una lista doppiamente puntata. Adesso ho la necessità di trasformarla in modo che effettui l'inserimento ordinato per cognome...

Codice PHP:
/* Incollo la dichiarazione della struttura */
typedef struct Agenda
{
   
char Cognome[32];
   
struct Agenda next;
   
struct Agenda prev;
AGENDA;

void AddNewNode

  
AGENDA **corrente/* Puntatore al corrente */
  
AGENDA *TempAdd /* Struttura temporanea dove 
                    sono memorizzati tutte le informazioni 
                    da inserire nella struttura principale */
)
{
   
/* alloco un nuovo nodo */
   
AGENDA *nuovo = (AGENDA*)malloc(sizeof(AGENDA));
   
nuovo TempAdd;
   
nuovo->next NULL;
   
nuovo->prev NULL;

   
/* taglia e cuci della lista */
   
if (*corrente != NULL
   {
      
nuovo->next = (*corrente)->next;
      
nuovo->prev = *corrente;
      (*
corrente)->next nuovo;
   } 
   
/* aggiorno il cursore  */
   
*corrente nuovo;

ma come al mio solito mi sono perso, e non so da dove cominciare!

chi mi aiuta?