Метод СОРТИРОВКА ВСТАВКАМИ.Дана возраст. посл-ть a1<a2<..<an.Берем новое число an+1 и помещаем его в исход. посл-ть так,чтоб новая посл. тоже была возраст-ей.
Место помещения очередного элемента в отсортир-ую часть производить с помощью двоич. поиска!двоичный поиск оформить в виде отдельной функции!
var i,x,j, count: integer; size, left, right, center: integer; a:
array[1 .. 100]
of integer;
begin
write('vvedite size'); readln(size); writeln('vvedite elementi');
for i:=1
to size
do readln(a[i]); writeln ('vvedite X'); readln (x);
if x>a[size]
then a[size+1]:=x;
if x<a[1]
then
begin
for j:=size
downto 1
do a[j+1]:=a[j]; a[1]:=x;
end
else
begin left := 1; right := size;
repeat center := (right + left)
div 2; inc(count);
if a[ center ] >= X
then right := center
else left := center;
until (right - left = 1)
or (a[ center ] = X);
for i := size + 1
downto center
do a[i] := a[i - 1]; a[ center ] := X;
end; writeln('count = ', count);
for i:=1
to size+1
do
write (' ',a[i]); writeln; readln;
end.
пример volvo - для случая, когда массив упорядочен по неубыванию...
Мне этот пример подходит только надо двоичный поиск реализовать в виде отдельной функции,я понимаю что это не сложно, но всеравно неполучается!помогите плиз!