Проблема с алгоритмом.
Есть массив DWORD massiv[65536]. В этом массиве записаны некоторые числа, нужно эти числа изменить следующим образом: самое большое - на 65535, на 1 меньше - на 65534 и т.д. до самого маленького - на 0.
Все решения которые я находил так или иначе использовали цикл в цикле, каждый из которых выполнялся 65536 раз - и всего получается 4 миллиарда раз:!!!: Очень долго!.
Надеюсь на вашу помощь!
Цитата:
Originally posted by Predator
Застрял я при написании одной проги на казалось бы простой задаче, но как выяснилось не очень:
Есть массив DWORD massiv[65536]. В этом массиве записаны некоторые числа, нужно эти числа изменить следующим образом: самое большое - на 65535, на 1 меньше - на 65534 и т.д. до самого маленького - на 0.
Все решения которые я находил так или иначе использовали цикл в цикле, каждый из которых выполнялся 65536 раз - и всего получается 4 миллиарда раз:!!!: Очень долго!.
Надеюсь на вашу помощь!
Застрял я при написании одной проги на казалось бы простой задаче, но как выяснилось не очень:
Есть массив DWORD massiv[65536]. В этом массиве записаны некоторые числа, нужно эти числа изменить следующим образом: самое большое - на 65535, на 1 меньше - на 65534 и т.д. до самого маленького - на 0.
Все решения которые я находил так или иначе использовали цикл в цикле, каждый из которых выполнялся 65536 раз - и всего получается 4 миллиарда раз:!!!: Очень долго!.
Надеюсь на вашу помощь!
Сначала просто сортировку массива сделай по возрастанию или по убыванию, а потом присваивай значения. Алгоритмы сортировки есть разные. тут уже, вроде, писалось - книжек по сортировке тоже навалом в инете.