Используется для того, чтобы убрать лишние шаги по i.
Пока есть хотя бы одна перестановка в сортируемом массиве за один проход цикла по i (т.е. k=1), цикл REPEAT работает, но когда не было ни одной перестановки (k=0), т.е. все элементы уже выставлены в порядке возрастания / убывания, то происходит выход из цикла REPEAT.
for i:=1 to 4 do
k:=0; { флажок }
for j:=1 to 5-i do
if a[j] >a[j+1] then
k:=1;
buf:=a[j+1]; a[j+1]:=a[j]; a[j]:=buf;
end;
UNTIL k=0;
for i:=1 to 5 do
write(a[i],);
writeln;
массив A=(5, 4, 1, 3, 2);
i=15 4 1 3 2 max=5 2
i=2 2 4 1 3 5 max=4 3
i=3 2 31 4 5 max=3 1
i=42 1 3 4 5 max=2 1
i=5 1 2 3 4 5
Принцип сортировки методом выбора заключается в следующем:
отыскивается MAX элемент и переносится в конец массива (меняется местами с находящимся там элементом); затем эта операция применяется ко всем элементам, кроме последнего (так как он уже находится на своем месте) и так далее.
Пример 1 сортировка методом Выбора
В целочисленном массиве Х(5; -7; 16; 12; -5; 22; -8; 15; 6; 2) расставить элементы в возрастающем порядке.
studopedia.su - Студопедия (2013 - 2026) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление