Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Сортировка выбором

Понятие множества и способы его задания | Операции над множествами | Свойства операций над множествами | Упорядоченные множества. Прямое произведение множеств | Понятие сортиравки | Квадратичная выборка | Быстрая сортировка | Основные определения | Способы задания бинарных отношений | Операции над бинарными отношениями |


Читайте также:
  1. VBA4. Сортировка чисел в столбце по возрастанию или убыванию
  2. VBA7. Сортировка чисел в столбце по возрастанию или убыванию с созданием формы и панели инструментов с кнопкой
  3. Алгоритм 2.14. Сортировка таблиц, управляемая пользователем
  4. Быстрая сортировка
  5. Вопрос 55 . Сортировка записей на экране: использование фильтра
  6. Вопрос 93.В MS PowerPoint режим сортировка слайдов предназначен дляпросмотра слайдов в полноэкранном режиме.
  7. Лабораторная работа 3. Списки. Автофильтр, сортировка. Функции работы с датой и временем

 

Метод сортировки с выбором напоминает сортировку пузырьковым

 

методом. Вначале неотсортированным полагают весь исходный массив. В

 

процессе сортировки находится наименьший элемент, содержащийся в

 

рассматриваемой (неотсортированной) части массива, который помещается

 

взамен его первого элемента. Затем процедура повторяется — рассматривается


 

неотсортированная часть массива, которая уменьшена по сравнению с пре-

 

дыдущей итерацией на одинэлемент.

 

Таким образом, на k -й итерации, как и в пузырьковой сортировке, рассматривают массив а [ k ],..., а [ п ]и, найдя в нем наименьший элемент,

 

меняют его местами с элементом а[к]. Следовательно, сортировка заканчивается после выполнения n -1-й итерации.

 

 

Пример 4.3.1. Сортировкой выбором упорядочитьмассив

 

А = {8, 4, 6, 3, 7, 2, 1, 5}.

 

Изменения исходного массива в процессе сортировки представлены в виде

 

последовательности массивов, каждый из которых есть результат

 

соответствующей итерации

 

 


{8, 4, 6, 3, 7, 2, 1, 5}

 

{1, 4, 6, 3, 7, 2, 8, 5}

 

{1, 2, 6, 3, 7, 4, 8, 5}

 

{1, 2, 3, 6, 7, 4, 8, 5}


исходный массив;

 

1-я итерация;

 

2-я итерация;

 

3-я итерация;


 


{1, 2, 3, 4,

 

{1, 2, 3, 4,

 

{1, 2, 3, 4,

 

{1, 2, 3, 4,


7, 6, 8, 5}

 

5, 6, 8, 7}

 

5, 6, 8, 7}

 

5, 6, 7, 8}


4-я итерация;

 

5 -я итерация;

 

6 -я итерация;

 

7 -я итерация;


 

Определим числоопераций, необходимыхдля сортировки.

 

На первой итерации требуется, очевидно, выполнить п -1 сравнений и

 

две операции перемен двух элементов местами. На второй итерации уже

 

требуется выполнить п-2 сравнений и две операции перемещений элементов. Легко заметить, что на k -й итерации необходимо выполнить n - k сравнений

и снова две операции перемен элементов местами. Значит, всего (в худшем случае)выполняется(n 2+ 3 n)/2 - 2операций.

 

Программа сортировки выбором на Паскале может иметь следующий вид:


 

program Select;

(* сортировка выбором *) Uses CRT;

Const n=8;

Var

i,j,k,t:integer; flag:boolean;

A:array[l..n] of integer;

 

 

begin clrscr;

for i:=l to n do A[i]:=0;

writeln ('Введите элементы массива'); for i:=l to n do

read(A[i]) Writeln;

k:=l; (* номер итерации *) j:=l;

repeat flag:=false;

Writeln (k,’-тая итерация’); t:=A[k];

for i:=k to n do if A[i]<t then begin flag:=true; t:=A[i]

j:=i; end;

if flag then begin A[j]:=A[k]; A[k]:=t; end;

for i:=l to n do Write(A[i],' '); Writeln;

k:=k+l; until(k=n);

end.

;
;


 

Лекция 5

 


Дата добавления: 2015-11-16; просмотров: 49 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Пузырьковая сортировка| Cортировка вставками

mybiblioteka.su - 2015-2024 год. (0.013 сек.)