-Поиск по дневнику

Поиск сообщений в rss_habrahabr_of_lokoman

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2008
Записей:
Комментариев:
Написано: 2


Визуализация сортировки обменами

Вторник, 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

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку