Sobes.tech
Junior — Middle

Qual abordagem você usaria para armazenar um grande volume de dados, quando seu tamanho inicial é desconhecido?

sobes.tech IA

Resposta da IA

Para armazenar grandes volumes de dados com um tamanho inicialmente desconhecido em C/C++, geralmente usa-se alocação dinâmica de memória e estruturas de dados que podem expandir-se conforme necessário.

Abordagens principais:

  • Utilizar arrays dinâmicos com realocação de memória (por exemplo, através de realloc em C ou std::vector em C++), que aumentam de tamanho ao atingir a capacidade atual.
  • Para dados muito grandes, usar armazenamento em ficheiros ou bases de dados para não manter tudo na memória RAM.

Exemplo com std::vector em C++:

#include <vector>

std::vector<int> data;

// Adiciona elementos à medida que chegam
for (int i = 0; i < n; ++i) {
    int value;
    std::cin >> value;
    data.push_back(value);
}

std::vector gere automaticamente a memória e expande-se quando necessário.