Jeśli mam:
struct element
{
int dana;
struct element *next;
};
int main()
{
struct element *lista = NULL;
//tworze liste zawierajaca jakies elementy
lista=sortujListe(lista);
.......................................
}
To sortowanie bąbelkowe przez zamianę wskaźników mam:
struct element * sortujListe(struct element *head)
{
struct element *jeden;
struct element *dwa;
struct element *pom;
for(jeden=head; jeden!=NULL; jeden=(*jeden).next)
{
for(dwa=(*jeden).next; dwa!=NULL; dwa=(*dwa).next)
{
if((*jeden).dana>(*dwa).dana)
{
pom=jeden;
(*jeden).next=(*dwa).next;
(*dwa).next=pom;
}
}
}
return head;
}
To sortowanie jest oczywiście złe, wiem co jest źle, ale nie wiem jak to poprawić, nie wiem jak zrobic by glowa listy wskazywala na wlasciwy element :(