shevczik
@shevczik
Люблю канифоль

Как расширить массив с++ (добавить элемент)?

В цикле получаю до 10к значений ,которые необходимо быстро записать в массив , при этом сколько именно будет их , я не знаю ,а пустых значений остаться не должно . Если определю массив с длинной 1 , то как его расширять (дополнять)?
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Используйте std::vector. Он автоматически расширяется и при этом работает быстро.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@nishe
В случае, когда тебе необходимо расширять массив можно например воспользоваться функцией realloc().
Будет наподобие такого:
Вместо int ставишь тот тип данных, с которым работаешь. plus_one_element будет выделять плюс одну ячейку памяти под число на каждом шаге цикла for. Затем в arr[plus_one_element - 1] записываешь нужное значение. Минус один делаем, так как массив инициализируется с нуля. Почитай про динамические массивы и realloc.
for (int plus_one_element = 1; plus_one_element < 10001; plus_one_element++) 
     arr = (int*)realloc(arr, plus_one_element*sizeof(int))
     std::cin << arr[plus_one_element - 1];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы