Парный обмен
Метод парного обмена состоит из различного числа четных и нечетных просмотров.
При четном просмотре элемент, стоящий в четной позиции, сравнивается со следующим элементом, стоящим в нечетной позиции, и больший занимает нечетную позицию.
При нечетном просмотре элемент, стоящий в нечетной позиции, сравнивается со следующим элементом, стоящим в четной позиции, и больший занимает четную позицию.
За четный и нечетный просмотры подсчитывается количество перестановок. Просмотры прекращаются, когда за четный и нечетный просмотры не было сделано ни одной перестановки.
Кол-во перестановок | Нечетный просмотр | Четный просмотр |
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;
Дата добавления: 2015-04-15; просмотров: 1144;