Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ сортировка всавками

Автор: Frogs2009 20.06.2008 19:20

Сортировка вставками. Дана последовательность чисел a1, a2, …, an. Требуется переставить числа в порядке возрастания. Делается это следующим образом. Пусть a1, a2,…, ai упорядо-ченная последовательность, т.е. a1 ≤ a2 ≤…≤ ai. Берется сле-дующее число аi+1 и вставляется в последовательность так, чтобы новая последовательность была тоже возрастающей. Процесс производится до тех пор, пока все элементы от i+1 до n не будут перебраны. Примечание. Место помещения очередного элемента в сортировочную часть производить с помощью двоичного поиска. Двоичный поиск оформить в виде отдельной функции.


	procedure BinaryInsertionSort(var Arr : array of Real; N : Integer);
var
B,C,E,I,J,K : Integer;
Tmp : Real;
begin
i:=2;
repeat
b:=1;
e:=i-1;
c:=((b+e) div 2);
while b<>c do
begin
if Arr[c-1]>Arr[i-1] then e:=c
else b:=c;
c:=((b+e) div 2);
end;
if Arr[b-1]<Arr[i-1] then
begin
if Arr[i-1]>Arr[e-1]
then b:=e+1
else b:=e;
end;
k:=i;
Tmp:=Arr[i-1];
while k>b do
begin
Arr[k-1]:=Arr[k-1-1];
dec(k)
end;
Arr[b-1]:=Tmp;
inc(i);
until not(i<=n);
end.





помогите пожалуйста, что дальше делать, подскажите! заранее спасибо! нашел сортировку,а как дальше делать не знаю