@DenNewGit

Как написать визуализацию алгоритма сортировки в delphi?

Нужно визуализировать алгоритм сортировки методом простых вставок
  • Вопрос задан
  • 257 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Mercury13
Программист на «си с крестами» и не только
longclaps написал, как всё это дело должно выглядеть внешне.
Внутренне это реализуется просто.
1. В OnPaint какого-нибудь компонента (PaintBox, скажем) при определённых условиях выводим визуализацию.
2. Блокируем весь пользовательский интерфейс (кроме какой-нибудь кнопки «Стоп»).
3. Каждый раз, когда надо что-то увидеть, делаем paintBox.Repaint, Application.ProcessMessages и небольшую задержку.
4. При нажатии кнопки «Стоп» ставим какую-то переменную в true. Сортировка реагирует на эту переменную и останавливает цикл: либо простым Exit, либо аварией Abort и последующей реакцией на EAbort.

Если есть желание сравнить несколько алгоритмов сортировки, стоит сделать функцию типа DoSwap(i, j : integer), которая меняет местами элементы, устанавливает всё, что надо для визуализации, инициирует перерисовку и делает задержку.
Ответ написан
Комментировать
@AlexSku
не буду отвечать из-за модератора
В папке Demos\Threads есть пример визуализации трёх сортировок параллельно.5ab9244301736225194965.png
Это сравнение по скорости.

Или надо более наглядно? Вот примеры танцев.
https://forany.xyz/a-370
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы