Sobes.tech
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 realloc v C alebo std::vector v 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.