witam wszystkich. Mam problem ze stworzeniem funkcji odpowiedzialnej za sortowanie listy jednokierunkowej. Chcialem napisac to w taki sposob:
void sortuj(moja *wezel)
{
int licznik=0;
moja *head;
moja *aktualny;
moja *nastepny;
head=wezel;
while(wezel->next!=NULL)
{
licznik++;
wezel=wezel->next;
}
aktualny=head->next;
nastepny=aktualny->next;
for(int i=0; i<licznik; i++)
{
while(aktualny->next!=NULL)
{
if(aktualny -> value > aktualny->next->value)
{
aktualny->next->value=aktualny->value;
aktualny->value=nastepny->value;
}
}
aktualny=aktualny->next;
nastepny=nastepny->next;
}
}
}
niestety kod nie dziala tak jak chce...sprawdza co jest pod aktualnym adresem...jesli ta liczba jest wieksza od tej ktora jest pod nastepnym adresem to chcialbym je zamienic miejscami, jednak efekt jest daleko od oczekiwanego..prosze o pomoc i z gory dziekuje