PDA

Visualizza la versione completa : [C] Ordinamento di una lista concatenata


Chooboo
20-01-2007, 19:34
:dh:

salve a tutti gli amici del forum!
volevo chiedere se gentilmente qualcuno ha idea di come si possa ordinare una lista concatenata di interi in modo crescente.

io ho provato con il bubblesort, ma non mi funziona (di certo sbaglio qualcosa :( ):


void bubble(LINK head, int d)
{
int i, x;
LINK tail = head;
LINK aux,asd;
for (i = 0; i < d - 1; ++i)
{
while(tail -> next -> next != NULL)
{
if ((tail->data.eta) > (head->next->data.eta))
{
printf("%d %d",tail->data.eta,tail->next->data.eta);
//system("PAUSE");
asd = tail;
aux = tail -> next -> next;
tail = tail->next;
tail -> next = asd;
tail -> next = aux;
}
else
tail = tail -> next;
}
}


dove head la testa della lista e d e il numero degli elementi. il campo data della lista una struttura nei cui campi c' "eta" che un intero. Lo scopo mettere in ordine crescente la lista concatenata a seconda dei valori di eta.

aiutatemi per favore!!

:ciauz:

Chooboo
20-01-2007, 23:57
risolto.

Loading