Предоставление числа X и чтение X-чисел в одномерный массив, какой из следующих способов является лучшим (быстрее всего времени выполнения)?Выделение C/C++
Пожалуйста, обратите внимание, что X представляет собой число от 1 до 1000000.
scanf("%d", &x);
int array[x];
//continue reading X numbers into array
Или
scanf("%d", &x);
int array[1000000];
//continue reading X ...
Или
scanf("%d", &x);
int * array = malloc(x*sizeof(int));
//same as above
free(array);
Или метод динамического распределения в C++?
Примечание 1: что я размещаю это с мобильного телефона, я надеюсь, что формат для кода выше, если нет, я прошу кого-нибудь (< 3) отредактировать его, так как это больно с отступом кода с телефона.
Примечание 2: Как я могу проверить, что я спросил выше?
Используйте таймер, чтобы подсчитать время, затрачиваемое на три разных метода ... Хотя я определенно запретил бы номер 2 'array [1000000]', как если бы у вас было всего 1 данные, вы потеряете много памяти ... –
Вы используете массив переменной длины в первом методе! – CinCout
Вы действительно заботитесь о времени выполнения при использовании пользовательского ввода ?! Вы заметите какую-либо разницу? –