Zadatak mi je da zamijenim pozicije drugom i četvrtom članu liste.
Ja sam to uradio ovako:
Code:
void *zamijeni(Cvor *glava)
{
Cvor *tmp = glava;
while(tmp -> sljedeci -> sljedeci != NULL)
{
tmp = tmp -> sljedeci;
Cvor *tmp2 = tmp -> sljedeci;
tmp -> sljedeci = glava;
Cvor *tmp3 = glava -> sljedeci;
glava -> sljedeci = NULL;
tmp2 -> sljedeci = tmp3;
glava = tmp2;
}
}
void *zamijeni(Cvor *glava)
{
Cvor *tmp = glava;
while(tmp -> sljedeci -> sljedeci != NULL)
{
tmp = tmp -> sljedeci;
Cvor *tmp2 = tmp -> sljedeci;
tmp -> sljedeci = glava;
Cvor *tmp3 = glava -> sljedeci;
glava -> sljedeci = NULL;
tmp2 -> sljedeci = tmp3;
glava = tmp2;
}
}
Ali u zadatku kad hoću da pozovem funkciju, ne dešava se ništa. Lista i dalje ostaje ista... Pa da vas pitam jesam li pogriješio u implementaciji ove funkcije "zamijeni" ili je negdje drugo greška u zadatku?
[Ovu poruku je menjao Mihajlo Cvetanović dana 01.08.2012. u 10:29 GMT+1]