Index táblát hogy célszerű létrehozni C/C++-ban?
Index táblát szeretnék létrehozni, amiben tárolom az azonosítót és ehhez kapcsolódó adatokat íratok ki, amit pl egy struktúrában tárolok ( azon belül is egy fájlban ). Ezt hogyan lenne célszerű megírnom ? lehet úgy, hogy a tábla igazából egy külön struktúra amiben csak a kulcsot meg az azonosítót tárolom ?
Válaszokat és ötleteket előre is köszönöm
Nem értem pontosan mire gondolsz, de ha azonosítóhoz akarsz adatot rendelni, arra a map és társai valók.
Szép nevükön: asszociatív tároló.
Ha például a klasszikus dbf jellegű index fájlokra gondolsz (és mindenképpen olyat akarsz), akkor legegyszerűbb, ha csinálsz egy másik rekordos (strukturált) fájlt, aminek egy rekordjában van egy keresési kulcs és az eredeti adat rekordszáma. Ezt a fájl a kulcs szerint kell rendezni, és rendezett kereséssel kell benne keresni. (Különben nem lenn sok értelme.) A megtalált rekordból kivett eredeti rekordszám alapján könnyen rá tudsz seek-elni a megfelelő rekordra. Arra kell figyelni, hogy minden módosítást az indexben is követni kell, és tartani kell a rendezettséget.
(Az eredeti .ntx fájl felépítése ennél kicsit bonyolultabb, de a lényeg kb. ez.)
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!