Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Сортировка массива

Автор: Celeron 3.12.2006 16:09

Помогите пожалуйста написать в Паскале программы для сортировки массива тремя методами:

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

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

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

p.s. почти весь инет облазил, кроме метода пузырька и еще пары методов ничего не нашел. Заранее спасибо!

Автор: volvo 3.12.2006 16:27

Плохо искал: http://forum.pascal.net.ru/index.php?showtopic=3065
(особенно обрати внимание на последние 2 метода и метод "Распределяющей сортировки")