Witam, męczę się z posortowaniem listy jednokierunkowej.
Spędziłem juz kilka godzin szukając różnych rozwiązań i nic... ciągle nie sortuje.
void sort2()
{
char t[10];
char d[10];
char z,x;
struk_baza *a, *b, *c, *temp;
a=pierwszy;
for(int i=0; i<50; i++)
{
a=pierwszy;
b=pierwszy->next;
c=b->next;
temp=c;
while(c->next!=NULL)
{
//pewnie jest jakaś metoda dla sprawdzania liter, jednak pierwsze co przyszło mi do głowy to zamiana na ASCII.
strcpy(t,b->imie);
strcpy(d,c->imie);
z=t[0];
x=d[0];
if(int(x)<int(z))
{
temp=b->next;
b->next=temp->next;
temp->next=b;
a->next=c;
temp=c;
c=a->next->next->next; // aktualizujemy wskazniki
a=a->next;
}
else if(c->next)
{
a=a->next;
b=b->next;
c=c->next;
}
}
}
}