2 / 2 / 2
Регистрация: 20.10.2016
Сообщений: 130
1

Сортировка слиянием. Метод абстрактного обменного слияния

09.06.2017, 15:22. Показов 7352. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, недавно начал разбираться с сортировкой слиянием, хотел бы освоить метод абстрактного обменного слияния, но никак не могу найти примера реализации чтобы разобраться поподробнее. Может у кого-то есть пример, или кто-то может дать ссылку на пример реализации данного метода?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2017, 15:22
Ответы с готовыми решениями:

Нисходящая сортировка слиянием. Метод абстрактного обменного слияния
Добрый день, изучал различные сортировки и наткнулся на реализацию нисходящей сортировки слиянием....

Сравнительный анализ Методов Сортировки(метод прямого выбора,метод слиянием,сортировка подсчетом)
Ввод данных: 1. с клавиатуры, 2.с файла (C:\Users\'NAME'\Desktop), 3.случайным образом количество...

Сортировка 2 массивов по возрастанию и используя метод слияния запись в другой массив
пожалуйста очень очень необходима задача ,если можно до завтрашних 9.00 Суть задачи 2...

Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом?
Помогите, пожалуйста, разобраться. Подскажите в каком куске кода происходит сортировка и каким...

2
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
09.06.2017, 15:28 2
Лучший ответ Сообщение было отмечено EDWIN503 как решение

Решение

http://www.williamspublishing.... 1/part.pdf
Программа 8.2. Абстрактное обменное слияние
Данная программа выполняет слияние двух файлов без использования сигнальных клю-
чей, для чего второй массив копируется во вспомогательный массив aux в обратном
порядке, сразу за концом первого массива (т.е. устанавливая в aux битонический поря-
док). Первый цикл for пересылает первый массив и оставляет i равным l, т.е. готовым
для начала слияния. Второй цикл for пересылает второй массив, после чего j равно r.
Затем в процессе слияния (третий цикл for) наибольший элемент служит сигнальным
ключом независимо от того, в каком массиве он находится. Внутренний цикл этой про-
граммы достаточно короткий (пересылка в aux, сравнение, пересылка обратно в a, увеличение значения i или j на единицу, увеличение и проверка значения k).

C++
1
2
3
4
5
6
7
8
9
10
11
12
template <class Item>
void merge(Item a[], int l, int m, int r)
 { int i, j;
 static Item aux[maxN];
 for (i = m+1; i > l; i--) aux[i-1] = a[i-1];
 for (j = m; j < r; j++) aux[r+m-j] = a[j+1];
 for (int k = l; k <= r; k++)
 if (aux[j] < aux[i])
 a[k] = aux[j--];
 else
 a[k] = aux[i++];
 }
1
2 / 2 / 2
Регистрация: 20.10.2016
Сообщений: 130
09.06.2017, 15:33  [ТС] 3
Notoriously, Спасибо, а нет ли у вас примера рекурсивной реализации данной функции?
0
09.06.2017, 15:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2017, 15:33
Помогаю со студенческими работами здесь

Из абстрактного в виртуальный метод
Помогите сделать met из абстрактного в виртуальный abstract class Graph { ...

Сортировка Слиянием vs Быстрая Сортировка - что лучше
Народ, помогите разобраться какой из методов сортировки лучше &quot;Сортировка Слиянием&quot; или &quot;Быстрая...

Сортировка слиянием. трехленточная сортировка. считывание из файла
Сделал только без считывания из файла, как это сделать. Нужна помощь. У меня считывается с клавы и...

Метод пузырька и метод слияния
Сгенерировать одномерный массив из N случайных чисел xi ∈. Отсортировать массив методом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru