Метод просеивания

Метод просеивания работает точно также, как и метод стандартного обмена до тех пор, пока не нужно сделать перестановку. Пусть k – номер позиции переставляемого элемента. С позиции k начинается нисходящий просмотр элементов вектора в обратном порядке до тех пор, пока не нужно будет переставлять элементы вектора. Затем возобновляется восходящий просмотр элементов вектора с позиции k.

Таким образом, дойдя до последнего элемента вектора, получим упорядоченный список.

Исходный вектор А  
2 4 8 5 6 1 2 4 5 8 6 1 2 4 5 8 6 1 2 4 5 6 8 1 2 4 5 6 1 8 2 4 5 6 1 8 2 4 5 1 6 8 2 4 1 5 6 8 2 1 4 5 6 8 1 2 4 5 6 8 For i:=1 to n-1 do If A[i]>A[i+1] then begin r:=A[i]; A[i]:=A[i+1]; A[i+1]:=r; j:=i; While (A[j]<A[j-1]) and (j>1) do begin r:=A[j]; A[j]:=A[j-1]; A[j-1]:=r; j:=j-1; end; end;

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



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