Куда его надо вставить. При этом элементы массива В сдвигаются
вниз по одному, освобождая место для вставляемого A[i] }
Begin
j:=i-1; { если вставляем i-й элемент массива А, значит в массиве
В уже лежат i-1 элемент }
while (j>0) and (B[j]>A[i]) do
Begin
B[j+1]:=B[j]; { сдвиг элемента массива В вниз }
j:=j-1;
end;
B[j+1]:=A[i]; { запись A[i] на освободившееся место в массив В}
end;
Алгоритм сортировки пересчетом.
Этот метод относится к сортировкам в двух массивах. Берется первый элемент исходной последовательности и подсчитывается, сколько элементов имеют величину, меньшую чем взятый. Проверяемый элемент помещается в выходной массив на место, равное подсчитанному числу плюс один (но если в этом месте уже записано число – то на следующее место). Это проделывается для следующего элемента исходной последовательности, и так до конца. В выходном массиве элементы упорядочены. Чтобы определить, занято ли место в выходном массиве, его предварительно следует заполнить "признаком свободного места" – таким числом, которого нет в сортируемом массиве. В качестве такого числа можно взять значение, например, на единицу больше максимального числа в сортируемом массиве.
{ поиск числа, которым заполним выходной массив В в качестве признака