Помощь - Поиск - Пользователи - Календарь
Полная версия: Многофазная сортировка
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Dron671
Кто ни-будь встречал эту задачу на паскале ?
volvo
Описание
Реализация - здесь:
Нажмите для просмотра прикрепленного файла

(реализация - не моя, правильность работы НЕ гарантируется... Пробуй.)
Dron671
В программе нашёл меню.

1: Простое слияние');
2: Естественное слияние');
3: Многопутевое слияние');
4: Таблица результатов');
5: Вывод массива на экран');
6: Выход');

А вот Многофазной не мА.. Может просто есть синоним этого алгоритма ?
volvo
Бери на AlgoList-е программу на С, и переводи на Паскаль!
Ozzя
Цитата
многофазная сортировка слиянием ( N-1-путевое слияние )


(С) H.Вирт "Алгоритмы + Структуры данных = Программы".

В меню 3-й вариант
Dron671
Попробовал Многопутевое слияние из FILESORT.PAS от FOX-а.
работает, но только с маленькими файлами..
Скажем 35кб. Она генерирует и сортирует
А вот с 104000 элементами уже косяк.
А задание сгенерировать и отсортировать файлик приблизительно 0.2Мб.
volvo
Цитата
работает, но только с маленькими файлами..
Скажем 35кб. Она генерирует и сортирует
Неверно! Не с 35К... smile.gif Если я тебе скажу точнее, догадаешься, почему это происходит? Она спокойно генерирует файлы размером до 32767 байт... Ничего не напоминает?

Дело в том, что эта программа для индексации и счетчиков использует тип Integer (вот отсюда и берется 32767), а тебе для 200000 этого мало, тебе нужно в нескольких местах (попробуй вычислить эти места сам, если не получится, я подскажу, где) поменять типы переменных с Integer на LongInt. И все... Я попробовал это проделать - у меня программа отсортировала файл размером 50000 за 27 секунд... ( blink.gif Медленно чего-то ). Результат - нормально отсортированный массив...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.