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...
ma come al mio solito mi sono perso, e non so da dove cominciare!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;
}
chi mi aiuta?