Тут на неделе пришлось стокнуться с некоторыми методами сортировки (их намного больше) - решил показать.
Сортировка Шелла Выбирается интервал D между сравниваемыми элементами и выполняется сортировка методом "пузырька", но с шагом D. После выполнения интервал уменьшается по ф-ле D(k)=[D(k+1)-1]/2 Код:
#include<iostream.h> |
Челночная сортировка
описание нарыл где-то в сети Челночная сортировка представляет собой стандартный обмен, выполняемый в двух направлениях: 1. При движении «вниз» попарно сравниваются соседние элементы и при необходимости переставляются местами. Сравнения данного вида называются ПЕРВИЧНЫМИ (НИСХОДЯЩИМИ). 2. Как только производится перестановка элементов, выполняется попарное сравнение элементов и при необходимости их перестановка при движении «вверх». Сравнения данного вида называются ВТОРИЧНЫМИ. Вторичные сравнения прекращаются при невозможности поднять более «легкий» элемент вверх. После прекращения вторичных сравнений возобновляются первичные сравнения. Код:
#include<iostream.h> |
Если вы собираетесь тестить приведенный выше код в VS .NET, то нужно заменить это:
Код:
#include<iostream.h> Код:
#include<iostream> |
Код:
#include<math.h> для Borland Builder - только #include<math.h> |
Привет народ!
подскажите плиз как переделать код челночной сортировки под шаблоны... заранее сенкс =) |
вносим коррективы типа
Код:
template<class abstr> Код:
abstr a[] она последовательно обррабатывает массив типа Int,float and char. Код:
#include<iostream.h> |
Центрированная вставка
Видел несколько схожих описаний алгоритма. По сути: работа с массивом как с бинарным древом поиска, но при этом гибкость, получаемая при реализации связанным списком, отсутствует - так что код громоздкий и медленный (по сравнению с возможным: скорость падает на сдвигах эл-тов и завершающем копировании, но экономится время при поиске места). Вероятно, рассчитан на специфические входные данные. Код:
#include<iostream.h> |
Кто придумает: почему, и без того не увжаемый мной, Builder не сортирует по данному коду массив, а Visual Studio делает это "на ура" - получит от меня + к рейтингу ;)
это я про центрированную вставку |
мне влом искать там всякие ***** :)
говорю одно : для билдера надо еще сверху include "vcd.h" или как его там... мне в лом смотреть :lol: |
Цитата:
|
Комбинированный метод
Для больших массивов ( или, при рекурсивном вызове, частей массивов) используем буыструю сортировку, для частей с длиной меньше параметра (M) - сортировку пузырьком. Примерно так: Код:
#include<iostream.h> |
Часовой пояс GMT +4, время: 23:24. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot