Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А что? Отдельную тему для этого заводить?
Хорошая мысля )))
Надо открыть тему "Тёрки..." )))))
Все думали, тема исчерпана, а тут ...
Я переделал алгоритм сортировки QuickSort для массива структур. Суть в том, что прямолинейное применение алгоритма сортировки простого массива к сортировке массива структур приводит к "физическому" перемещению больших объёмов данных. Чтобы избежать этого, я применил индексную таблицу, в которой и производятся все перестановки. Заодно использовал другие оптимизации кода. Чтобы сохранить универсальность для разных типов, использовал макросную обёртку от fxsaber.
В результате сортировка массива MqlRates[30000] по 8 полям заняла примерно 3600 мс вместо 14900 мс. То есть ускорение более 4x. Результаты сортировки проверял не тщательно, пусть это ляжет на бета-тестеров.
Благодарности: конечно, fxsaber за универсальный код.
UPD: Если это не очевидно, доступ к верхней в отсортированном списке структуре: MqlRates first = Rates[RatesIdx[0]];