Kezdőoldal » Számítástechnika » Programozás » Hogy építsen fel a fésűs...

Hogy építsen fel a fésűs lista fogát?

Figyelt kérdés

void list(tanulo* fej, osztaly* ptr){

osztaly* segedpointer;

tanulo* masiksegedpointer;

for(segedpointer=ptr; segedpointer!=NULL; segedpointer=segedpointer->next){

if(strcmp(segedpointer->nev,fej->osztaly)==0){

masiksegedpointer=segedpointer->head;

segedpointer->head=fej;

fej->next=masiksegedpointer;

if (fej->next == fej)

fej->next=NULL

break;

}

}

}


Tehát tanulókat akarok a megfelelő osztályokhoz láncolni. Végigmegyek a láncolt listán, és a megfelelőhöz fűzöm hozzá. Az if-es kitétel az azért van, mert ha még csak az első elemet fűzöm oda, akkor a masiksegedpointer az saját maga a tanulónak, és végtelen ciklus alakulna ki bejáráskor, nem lenne vége.


És ez nem jó. Bejáráskor (for) az van, hogy minden osztályhoz ugyanazt az 1 tanulót láncolja, akit utolsóként olvastatok be egy fájlból. Minden más jó, csak ez nem, és nem tudom hogy esetleg hogyan lehetne másképp láncolni.


Az osztálynak van nextje, az maga a fésűs lista gerince, a foga pedig a headje egy osztálynak és ahhoz lanoclodnak a tanulok, akiknek szintúgy van nextje.


Tehát mi ebben a probléma, ha minden más jó ezen kívül?


A mainben annyi történik, hogy ennek a listának paraméterkent átadom a tanuló memóriacímét, és a már meglévő lista kezdőcímét.



2021. dec. 12. 14:30
 1/1 anonim ***** válasza:
26%
Ez úgy sz.r ahogy van, kezdve azzal, hogy void függvény listát manipulál, ami akkor mellékhatás, mint a ház, változók rosszul elnevezve, input validáció nuku, segédváltozó miért nincs inicializálva ha ismert az értéke, minek két segédváltozó, random globális változók (mi a franc a nev és honnan jön?), és végezetül kinullozva a fej, ami pont tökéletes errorok létrehozásához. Írd újra, nincs code review amin ez átmegy.
2021. dec. 12. 14:58
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!