Помощь - Поиск - Пользователи - Календарь
Полная версия: Сортировка массива
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Celeron
Помогите пожалуйста написать в Паскале программы для сортировки массива тремя методами:

Метод первый: При каждом просмотре массива первый элемент сравнивают со вторым и меньший ставят на второе место. Второй элемент сравнивают с третьим и меньший ставят на второе место. Эта процедура повторяется до тех пор, пока не будет обработан весь массив. Затем совершают второй, третий и т.д. просмотры, пока во время просмотра не останется ни одной перестановки. Массив будет отсортирован по возрастанию.

Метод второй: Сортировка по основанию системы счисления. Метод предполагает выделение отдельного элемента памяти для каждой цифры, а затем группировку чисел по цифрам в каждом последовательном проходе.

Метод третий: Сортировка обменом по основанию системы счисления. Пусть L-количество двоичных разрядов кода элемента. Упорядочение ведут поразрядно. Сначала анализируют старший разряд. Отыскивают элемент с минимальным индексом I, который содержит в анализируемом разряде единицу, и элемент с максимальным индексом J, содержащий в анализируемом разряде нуль. При этом если I>J, то эти элементы меняют местами и процесс продолжают. Если I<=J, то упорядочение по данному разряду закончено. В результате сортируемый массив разделен на две группы элементов. Любой элемент в первой группе имеет меньшее значение, чем во второй. Затем при анализе второго разряда одну из полученных групп вновь делят на две подгруппы и т.д. Процесс продолжают до окончания анализа всех разрядов кода элемента или до остатка в каждой группе по одному элементу.

p.s. почти весь инет облазил, кроме метода пузырька и еще пары методов ничего не нашел. Заранее спасибо!
volvo
Плохо искал: Методы сортировок
(особенно обрати внимание на последние 2 метода и метод "Распределяющей сортировки")
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.