Обменная сортировка

Обменная сортировка основывается на последовательном сравнении двух рядом стоящих элементов и если порядок следования нарушен, элементы меняются местами. Сравнения производятся до тех пор, пока при очередном цикле просмотра всех рядом стоящих пар элементов, ни одна пара элементов не будет меняться местами. В том случае, если элементы массива уже упорядочены, алгоритм закончит свою работу после одного цикла просмотра всех рядом стоящих пар.

Просмор пар может начинаться с начала массива или с его конца, в последнем случае алгоритм называют алгоритмом пузырьковой сортировки. Подробнее об этом можно ознакомиться в [2,3].

Рассмотрим работу алгоритма по схеме.

 

Схема алгоритма обменной сортировки

 

 
 

 


нет

 

да

 

 

       
 
   
 

 


нет да

 

 
 

 


Key - ключ, определяющий была ли перестановка пар элементов;

Z - переменная, необходимая для хранения промежуточного элемента при перестановке.

Текст программы обменной сортировки

 

Uses crt;

Var M:array[1..1000] of integer;

i,Z,n:integer; Key:byte;

Begin Clrscr;

{Ввод n и формирование массива М как в предыдущей программе}

Repeat

Key:=0;

For i:=1 to n-1 do

If M[i] > M[i+1] then

begin

Z:=M[i];

M[i]:=M[i+1];

M[i+1]:=Z;

Key:=1;

end;

Until Key=0;

Writeln(' Упорядоченный массив');

For i:=1 to n do write(M[i],' '); readkey;

End.








Дата добавления: 2015-09-28; просмотров: 2410;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.