Визуализация сортировки обменами
|
|
Вторник, 04 Июня 2019 г. 20:21
+ в цитатник

В данной статье рассматриваются различные варианты сортировки обменами, а также даётся описание простого графического приложения (processing.js) с примерами сортировок.
Перед прочтением рекомендую ознакомиться со статьями
Сортировка обменами
Пузырьковая сортировка и все-все-все
Глупая сортировка и некоторые другие, поумнее
Простейший вариант: перебирать массив от первого элеменат к последнему, меняя местами (если потребуется) соседние элементы.
Проверить можно
здесь.
Для того, чтобы передвинуть ползунок, надо нажать на серую кнопку в левом нижнем углу.
При нажатии на кнопку проверяем, не достигли ли мы конца массива (тогда прыгаем в начало), дальше сравниваем (меняем местами) соседние элементы
Код кнопки// кнопка
// нажатие
void mousePressed() {
if(boolButton) {
counter++;
// сравниваем соседние элементы
if(mods[incPaddle].rectHight < mods[incPaddle-1].rectHight) {
vTemp= mods[incPaddle-1].rectHight;
mods[incPaddle-1].rectHight=mods[incPaddle].rectHight;
mods[incPaddle].rectHight=vTemp;
}
}
}
//отжатие
void mouseReleased() {
if(boolButton) {
// передвигаем ползунок
incPaddle++;
// прыгаем в начало массива
if(incPaddle>=moduleSize) { incPaddle=1; }
}
}
Можно уменьшить количество переборов, если не перебирать уже отсортированные элементы. Для этого добавим в конец массива
limiter (ограничитель), который будет сдвигаться к началу массива после каждого перебора.
Проверить можно
здесь.
Если добавить ограничитель в начало массива, получим шейкерную сортировку.
Читать дальше -> https://habr.com/ru/post/454792/?utm_source=habrahabr&utm_medium=rss&utm_campaign=454792
Метки:
JavaScript
Программирование
Алгоритмы
Processing
сортировка
bubble sort
processing.js
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-