В основном мне интересно, что было бы более быстрым способом обработки ввода из стандартного ввода:
Метод первый: объявление массива произвольного размера, чтение в массив и, если входные данные больше, чем размер, выделение нового массива вдвое большего размера, копирование содержимого в новый массив и освобождение предыдущего массива.
Способ второй: прочитать весь ввод и подсчитать количество строк при чтении. сбросить указатель обратно к началу ввода, объявить массив длины размера количества строк, а затем ввести в этот массив. немного фона:
- Я не использую векторы. пожалуйста, не говорите просто использовать векторы...
- они не будут вводить ввод, он будет перенаправлен из командной строки в файл. похоже на
./program < input.txt
- Я понимаю, что первый способ более неэффективен с точки зрения места, но быстрее ли он, чем второй? если да, то насколько? метод 2 по существу занимает 2n времени, чтобы закончить. Я хочу знать, увеличит ли первый метод время выполнения моего кода.