Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Помогите с задачей на С:


Автор: f0oZ 28.4.2008, 17:39
Приветствую!
Никак не могу правильно написать процедуру сортировки одномерного массива естественным двухпутевым слиянием. В алгоритме разобрался, а вот сам листинг программы не могу сделать, хоть убей! 
Кому не лень, выручайте студента! Только саму процедуру сортировки, остальное готово. И если можно с комментариями, для чего какая переменная smile 

Для справки, сам смысл этого метода:
Этот алгоритм ищет упорядоченные отрезки с двух концов файла и переписывает их по очереди также в оба конца. Повторяя эту процедуру в цикле, мы приходим к середине файла, что означает окончание сортировки. Проиллюстрируем работу алгоритма на примере файла из 16 элементов:
503│87 512│61 908│170 897│275 653│426 154│509│612│677│765 703
-> -> -> -> -> <- <- <- <- <-
Черточками разделены упорядоченные отрезки, стрелками показаны направления упорядочения внутри отрезков. На первом шаге сливаются отрезки 503 слева и 703 765 справа в один отрезок, который записывается в левый конец файла, на втором шаге сливаются отрезки 87 512 слева и 677 справа, которые записываются в правый конец файла и т.д.В результате файл принимает следующий вид:
503 703 765│ 61 612 908│ 154 275 426 │653│ 897 509 170 │677 512 87
-> -> -> -> <- <- <-

Дальнейшие шаги дают следующие результаты:
87 503 512 703 765 │154 275 426 │653 │ 908 897 612 509 170 61
-> -> -> <- <-

61 87 170 503 509 512 612 677 703 765 897 │ 908 │ 653 426 275 154
-> -> <- <-

61 87 154 170 275 426 503 509 512 612 653 677 703 765 897 │ 908 │
-> <-

Зарание спасибо!

Автор: v1rtu0z 30.4.2008, 11:00
есть реализация сортировки исходного файла методом естественного двухпутевого слияния, но на Паскале.. 
прикрепил, можт поможет..

Автор: archimed7592 30.4.2008, 19:39
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)