C++-ban milyen adatstruktúra lenne jó egy keresztrejtvényhez?
Világos, hogy tömb. Van egy osztály a négyzeteknek, azokból áll a háló.
Ötleteim:
1; Sima két dimenziós tömb.
2; Egydimenziós tömb sor×oszlop elemmel.
3; array tömbök array tömbje.
4; Vektorok vektora
5; Vektor sor×oszlop elemmel.
Elérés és átméretezhetőség szempontjából talán ez utóbbi lenne a legjobb. De kíváncsi vagyok más véleményekre is.
Téglalap alakú vagy az a fajta ahol random hosszú szavak vannak egymás alatt és középen kell összeolvasni?
A "kérdések" a keresztrejtvényen kívül vagy speciális cellákban vannak elhelyezve?
Megkülönböztetünk függőleges és vízszintes szavakat?
Milyen formátumban van az input megadva?
Mi a program célja?
@1; Nem játék.
@2; Téglalap alakú. Engem csak a blokkok elrendezése érdekel, mivel a többit másképpen intézem. Egy négyzetben vagy betű van, vagy fekete, az oldalai lehetnek vastag elválasztók vagy vékonyak és opcionálisan lehet bennük szám. A szavak maguk irrelevánsak.
Azt erted, hogy a pontos mukodes ismerete nelkul nem lehet meghatarozni az optimalis adatstrukturat?
Azt mondjuk pl. hogy legyen 2D tomb, de kozben a fekete cellak nem relevansak es sok van beloluk, akkor pl. maris hatekonyabb lenne valamilyen graf struktura.
@7: Oks, de melyik? Van a négyzetekre egy Block osztályom.
Block grid[][] - Az a baj, hogy ez rögzített méret, ha valamiért át kell méretezni, akkor tkp. csinálhatok egy új tömböt,és abba másolgathatok.
std::array<std::array<Block,row>,column> - Ez akár még jó is lehet, bár nekem a szememet bántja. Mintha az array osztály nem erre lenne kitalálva.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!