Парный обмен

Метод парного обмена состоит из различного числа четных и нечетных просмотров.

При четном просмотре элемент, стоящий в четной позиции, сравнивается со следующим элементом, стоящим в нечетной позиции, и больший занимает нечетную позицию.

При нечетном просмотре элемент, стоящий в нечетной позиции, сравнивается со следующим элементом, стоящим в четной позиции, и больший занимает четную позицию.

За четный и нечетный просмотры подсчитывается количество перестановок. Просмотры прекращаются, когда за четный и нечетный просмотры не было сделано ни одной перестановки.

Кол-во перестановок Нечетный просмотр Четный просмотр
3 2 4 8 5 6 1 2 4 5 8 1 6
3 2 4 5 1 8 6 2 4 1 5 6 8
1 2 1 4 5 6 8 1 2 4 5 6 8
0 1 2 4 5 6 8 1 2 4 5 6 8

Repeat

k:=0; {к-количество перестановок}

For j:=1 to 2 do {четный и нечетный просмотр}

Begin

i:=j;

While (i<n) do

Begin

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

Begin

r:=A[i];

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

A[i+1]:=r;

k:=k+1;

end;

i:=i+2;

end;

end;

Until k=0;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: