![]() |
|
Модераторы: Poseidon |
![]()
|
|
| f0oZ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 28.4.2008 Репутация: нет Всего: нет |
Приветствую!
Никак не могу правильно написать процедуру сортировки одномерного массива естественным двухпутевым слиянием. В алгоритме разобрался, а вот сам листинг программы не могу сделать, хоть убей! Кому не лень, выручайте студента! Только саму процедуру сортировки, остальное готово. И если можно с комментариями, для чего какая переменная Для справки, сам смысл этого метода: Этот алгоритм ищет упорядоченные отрезки с двух концов файла и переписывает их по очереди также в оба конца. Повторяя эту процедуру в цикле, мы приходим к середине файла, что означает окончание сортировки. Проиллюстрируем работу алгоритма на примере файла из 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 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 21.4.2008 Где: Воронеж Репутация: нет Всего: нет |
есть реализация сортировки исходного файла методом естественного двухпутевого слияния, но на Паскале..
прикрепил, можт поможет.. Присоединённый файл ( Кол-во скачиваний: 34 )
NaturalMerge.PAS 4,23 Kb |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
Для домашних заданий, курсовых, существует "Центр Помощи".
Тема перенесена! -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |