Van mód arra, hogy egy több dimenziós tömböt átméretezzünk?
Adott egy mátrix, mondjuk legyen int[,] adatok =new int [60,8];
Mondjuk ebbe bele lesznek olvasva egy fájl adatai. Viszont szeretném, hogy új adatokat is vehessenek fel manuálisan, akkor viszont már [61,8] méretű a mátrix.
Tudom, tudom használjak listát de meg van szabva, hogy vagy rekord, vagy 2d tömbben lehet tárolni az adatokat.
Van erre valami lehetőség?
#2: Szerinted akkor mire valók a dinamikus tömbök ? Az, hogy a háttérben mi történik az egy kezdő programozót nem érdekelje. - nem is érdekli -
'A szokásos megoldás, hogy nagyobb tömböt foglalsz és azt töltöd amíg fér bele.' Na most szúrom oda a rozsdást ahol a legjobban fáj. Menjél vissza homokozni vagy lapozz a könyvecskédben kicsit arrébb :) a változók deklarásása utánra.
3#-asnak. Na mégegyszer, csak magyarázatként a kérdésre válaszoltam. Át lehet méretezni a tömböt (C#-ban vagy más C-n alapuló nyelvben)? Nem. Nem lehet, mert a létrehozáskor eldől a méret.
> Szerinted akkor mire valók a dinamikus tömbök ?
A dinamikus tömb (vector, List, ArrayList):
Adatszerkezet fordítás és futás során előre NEM ismert számú elem tárolására, memória folytonosan egymás után, és tetszőleges elem O(1)-es elérésével.
> Az, hogy a háttérben mi történik az egy kezdő programozót nem érdekelje.
Ha tömböt mondasz, akkor ez a válasz. Nem válaszolok másról, mivel az félrevezető. A kérdés nem a dinamikus tömbre vonatkozott, ami egy teljesen másik dolog és a kérdező kifejezetten leírta, hogy nem arról szól a kérdés. Ennyi erővel a láncolt listát is idehozhatnám.
Amit meg lehet csinálni az egy új tömb létrehozása és a régi tartalmának átmásolása. Mi köze van ennek a tömb átméretezéséhez? Semmi, mert az nem ugyanaz a tömb. Átméreteztem a tömböt? Nem.
Létrehozhatsz egy 1000 elemű tömbböt és használod amíg beleférnek az elemek. A tömböd nem nő, de használhatod így. Szóval a normális megoldás a List használata lenne (ami ki van zárva), de az nem tömb. A List nő a tömb viszont nem.
(És a dinamikus tömb esetében is egy natúr tömb van a háttérben, ami, ha megtelik, akkor létrejön egy új, nagyobb tömb.)
Maga a tömb nem átméretezhető, de létre hozol egy másik, nagyobb tömböt, majd átmásolod bele a régi elemeit.
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!