Kezdőoldal » Számítástechnika » Programozás » Mi a probléma ezzel a C kóddal?

Mi a probléma ezzel a C kóddal?

Figyelt kérdés

Van egy doubly linked listám, amiben 2 adatot tárolok nevet és kort és a listát egy insertion sort algoritmussal a kor szerint sorba akarom rendezni.


(Van egy lista struktúrám is ahol eltárolom az első és utolsó elemet és a listának a hosszát.)


Itt van a kép az insertion sort kódomról és a végeredméynről:

[link]


Az insertNodeBefore függvény csak annyit tesz, hogy az első paraméter elé berakja a második paraméterként megadott Nodeot.


Egyenként leteszteltem minden kimutató függvényt. Azok mindenképpen jók, szóval a logikával lehet probléma, csak nem tudok rájönni, hogy pontosan mi lehet az :D


Előre is köszi a segítséget.



2018. nov. 10. 12:43
 1/1 anonim ***** válasza:

Kicsit nehéz úgy megkeresnia hibát, hogy az általad használt függvények felének nem látni az implementációját. De van egy olyan sejtésem, hogy az insertNodeBefore() hívásánál a searchByIndex(list,i) helyett a key-t akarod használni. Miért? Mert az az elem, ami eredetileg az i-edik indexen van a legelső iteráció után már nem az i-edik indexen lesz, így teljesen más elemet pakolsázol előre.


Egyébként. Szerintem borzalmasan rossz ötlet egy láncolt listán index alapú rendezést használni. Egy lista esetében elég lassú az indexelés, szemben egy tömbbel, viszont gyorsan lehet rajta jobbra-balra lépkedni. Én a helyedben fognám és megírnám ezt a sorting algoritmust úgy, hogy kihasználd azt, hogy egy listával dolgozol.

2018. nov. 10. 13:37
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!