У меня есть два огромных массива (int source [1000], dest [1000] в коде ниже, но в действительности есть миллионы элементов). Исходный массив содержит ряд int
с которой я хочу, чтобы скопировать 3 из каждых 4Алгоритм: извлечение каждого 4-го элемента массива
Например, если исходный массив является:
int source[1000] = {1,2,3,4,5,6,7,8....};
int dest[1000];
Вот мой код:
for (int count_small = 0, count_large = 0; count_large < 1000; count_small += 3, count_large +=4)
{
dest[count_small] = source[count_large];
dest[count_small+1] = source[count_large+1];
dest[count_small+2] = source[count_large+2];
}
В конце концов, Dest консольный вывод будет:
1 2 3 5 6 7 9 10 11...
Но это Алгоритм Построения m так медленно! Есть ли алгоритм или функция с открытым исходным кодом, которую я могу использовать/включить?
Спасибо :)
Edit: Фактическая длина моего массива будет составлять около 1 млн (640 * 480 * 3)
Edit 2: Обработка это цикл занимает около 0,98 секунды до 2,28 секунды , в то время как другой код только занять 0.08 секунд 0,14 секунды, так что устройство использует по крайней мере 90% времени центрального процессора только для цикла
Это вопрос C или C#, Гунтрам? Ваши теги говорят C, но я не был уверен, что это была ошибка. –
Учитывая определения массива, это определенно не C#. – Sneftel
Если отсутствующий 'new []' был опечаткой, значит, мой вопрос. –