Сортировка методом прямого включения
Лекции.ИНФО


Сортировка методом прямого включения



 

Такой метод широко используется при игре в карты. Элементы (карты) мысленно делятся на уже «готовую» последовательность A1, A2,…, Ai-1, и «оставшуюся» (не сортированную) часть: Ai, Ai+1,…, AN.

Суть метода заключается в том, что при каждом i-ом шаге (начиная с i = 2), из неотсортированной части извлекается i-ый элемент и помещается в «готовую» часть, при этом он вставляется на нужное место.

Текстовый алгоритм метода:

1. Начало.

2. Выполнить цикл, пока i имеет значения от 2 до N,
шаг = 1:

а) i-ый элемент (A(i)) поместить в ячейку A(0);

б) присвоить j = -1, то есть j равно номеру элемента, находящегося слева от испытуемого (i-го) и таким образом стоящего в «готовой» последовательности;

в) если А(0) ≥ А(j), то элемент А(0) поместить в ячейку А(j+1), иначе элемент А(j) поместить в ячейку А(j+1), уменьшить значение j на единицу и вновь выполнить пункт в).

3. Конец.

На рис. 1 представлена блок-схема сортировки методом прямого включения.

Метод работает следующим образом: на i-ом шаге (начиная с i = 2) i-ый элемент помещается в свободную ячейку (например, А(0)). Этот элемент сравнивается со стоящим в «готовой» части слева от него элементом. Если элемент А(0) меньше, то происходит сдвиг вправо сравниваемого (j-го элемента) на одну позицию, после чего для сравнения берется следующий элемент. Если же элемент А(0) при сравнении оказывается не меньше, то он помещается на место, стоящее сразу за сравниваемым элементом.

 

Рис. 1. Блок-схема сортировки методом прямого включения

 

На рис. 2 приведен пример выполнения сортировки методом прямого включения.

 

Исходная последовательность
  А (0)                
I = 2
I = 3  
I = 4  
I = 5  
I = 6  
I = 7  
I = 8  
Результат

 

Рис. 2. Пример сортировки методом прямого включения

 

Сортировка прямым включением больше подходит для случая, когда сортируемые данные поступают последовательно (одно за другим).

 

Сортировка методом прямого выбора

Суть метода заключается в следующем. Выбирается наименьший элемент в «оставшейся» (неотсортированной) части и меняется местами с первым элементом (в этой же неотсортированной части). После этого длина неотсортированной части уменьшается на один элемент (на первый), и весь процесс продолжается уже с (n – 1) элементами, затем с (n – 2) элементами и т.д., до тех пор, пока не останется один, самый большой элемент.

Этот метод в некотором смысле противоположен методу прямого включения. В методе прямого включения на каждом шаге рассматривается только один очередной элемент и все элементы уже «готовой» части последовательности, среди которых отыскивается точка включения этого очередного элемента. А в методе прямого выбора для поиска одного (минимального) элемента просматривают все элементы неотсортированной части, и этот минимальный элемент помещается как очередной элемент в уже «готовую» часть.

Текстовый алгоритм метода:

1. Начало.

2. Выполнить цикл, пока i имеет значения от 1 до N – 1,
шаг = 1:

а) поместим текущий (i-ый) элемент в какую-нибудь ячейку памяти (Х) и запомним порядковый номер (i) текущего элемента (в переменной К);

б) выполнить цикл, пока j имеет значения от i + 1 (то есть от следующего за i элемента) до N, шаг = +1:

тело цикла: если Х > А(j), то помещаем в ячейку Х элемент А(j) и запоминаем его номер в ячейке К;

в) присвоить А(К) = А(i) и А(i) = Х.

3. Конец.

На рис. 3 приведен пример выполнения сортировки методом прямого выбора.

 

Исходная последовательность 44 06
I = 1 55 12
I = 2 55 18
I = 3 42 55
I = 4 94 44
I = 5 55 94
I = 6 94 67
I = 7

 

Рис. 3. Пример сортировки методом прямого выбора

 

На рисунке 4 приведена блок-схема сортировки методом прямого выбора.

 

Рис. 4. Блок-схема сортировки методом прямого выбора

 

Сортировка прямым выбором подходит для случая, когда все данные находятся в памяти, а отсортированные данные последовательно выводятся.

 









Читайте также:

  1. Антикоагулянты непрямого действия
  2. Антикоагулянты прямого действия
  3. Виды возбуждения и схемы включения двигателей постоянного тока
  4. Завершение процесса включения нового человека в организацию
  5. Индикатор включения дальнего света фары
  6. К теме 3. «Формы прямого волеизъявления граждан в системе местного самоуправления»
  7. К теме 4. «Формы прямого волеизъявления граждан в системе местного самоуправления»
  8. Контроллер прямого доступа к памяти
  9. ЛЕКЦИЯ 1. ПРЕДМЕТ И ЗАДАЧИ ГИСТОЛОГИИ, ЦИТОЛОГИИ И ЭМБРИОЛОГИИ. ЦИТОПЛАЗМА. ОРГАНЕЛЛЫ И ВКЛЮЧЕНИЯ КЛЕТКИ. СИМПЛАСТЫ И СИНТИЦИИСТРУКТУРА ИЗУЧАЕМОГО ПРЕДМЕТА.
  10. Операции, выполняемые с помощью указателей, часто называют операциями непрямого доступа, поскольку мы косвенно получаем доступ к переменной посредством некоторой другой переменной.
  11. Решения, принятые путем прямого волеизъявления граждан
  12. Симпатомиметики (адреномиметики непрямого действия)


Последнее изменение этой страницы: 2016-03-22; Просмотров: 112;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная