В примере этой статьи рассказывается о слиянии и сортировке резюме алгоритма сортировки Java. Поделитесь этим для всех для вашей ссылки. Конкретный анализ заключается в следующем:
Операция слияния (Merge), также известная как алгоритм слияния, относится к объединению двух последовательностей, которые были отсортированы в операции последовательности. Подобно быстрой сортировке, давайте посмотрим на реализацию объединенных в Java.
Сортировка слияния (слияние) предназначена для объединения двух (или более) или более таблиц упорядочения в новый порядок, то есть разделить последовательность, которая будет сортироваться на несколько последовательностей, и каждая последующая последовательность упорядочена. Затем объедините последовательность порядка в общий порядок.
Сортировка слияния - это эффективный алгоритм сортировки, основанный на операциях слияния. Этот алгоритм является очень типичным применением разделения и завоевания. Объедините существующие последующие последовательности, чтобы получить полностью упорядоченную последовательность; Если две заказанные таблицы объединены в упорядоченную таблицу, называемой 2-й дорогой.
Алгоритмы сортировки слияния являются стабильными, а массив требует дополнительного пространства O (n).
Рабочий принцип:
1. Подайте заявку на пространство, чтобы сделать размер двух отсортированных последовательностей.
2. Установите два указателя, и начальные позиции представляют собой исходную позицию двух отсортированных последовательностей соответственно.
3. Сравните элементы, указанные двумя указателями, выберите относительно небольшой элемент в пространстве слияния и переместите указатель в следующее место
4. Повторите шаг 3, пока указатель не достигнет конца последовательности
5. Скопируйте все оставшиеся элементы в другой последовательности непосредственно в хвост последовательности слияния
Реализация кода:
//////////////////////////MUSTERE VOID MERGESORT () {long [] Workspace = New Long [nelems]; [] Workspace, Int Lowerbound, Int Upperbound) {if (Lowerbound == Upperbound) {return;} else {int mid = (нижняя часть+ Mid+ 1, верхний); ;; +] = TheArray [lowptr ++];} else {workspace [j ++] = thearray [highptr ++];} while (lowptr <= mid) {workspace [j ++] = thearray [lowptr ++]; } While (highptr <= upp erbound) {workspace [j ++] = theArray [highptr ++];} для (j = 0; j <n; j ++) {thearray [Lowerbound+j] = Workspace [j ];}}
Сортировка слияния является относительно стабильной. В порядке сортировки информации.
Есть надежда, что эта статья полезна для дизайна программы Java каждого.