Junior — Middle
Aký prístup by si použil na uloženie veľkého objemu dát, keď jeho počiatočná veľkosť nie je známa?
sobes.tech AI
Odpoveď od AI
Pre ukladanie veľkého objemu dát s počiatočne neznámou veľkosťou v C/C++ sa zvyčajne používa dynamické prideľovanie pamäte a dátové štruktúry, ktoré sa môžu rozširovať podľa potreby.
Hlavné prístupy:
- Použitie dynamických polí s opätovným prideľovaním pamäte (napríklad cez
reallocv C alebostd::vectorv C++), ktoré zväčšujú veľkosť pri dosiahnutí aktuálnej kapacity. - Pre veľmi veľké dáta, použitie ukladania na súbory alebo databázy, aby sa všetko neukladalo do operačnej pamäte.
Príklad s std::vector v C++:
#include <vector>
std::vector<int> data;
// Pridávanie prvkov podľa potreby
for (int i = 0; i < n; ++i) {
int value;
std::cin >> value;
data.push_back(value);
}
std::vector automaticky spravuje pamäť a podľa potreby sa rozširuje.