Обработка массивов. Власенко О.Ф - 28 стр.

UptoLike

Замечание: если все элементы массива меньше вставлямого, то
новый элемент надо вставить в конец массива. Если все элементы
массива больше вставляемого, то новый элемент надо вставить в
начало массива.
Пример: Надо вставить 5 в массив A: 3 4 7 9
1.
Ищем элемент, больший вставляемого. Это элемент A[3]=7.
2.
Увеличиваем длину массива на 1.
Получаем массив A: 3 4 7 9 X
3. Сдвигаем элементы, начиная с 3-го, вправо.
Получаем массив A: 3 4 7 7 9
4. В элемент A[3] заносим 5.
Получаем массив: 3 4 5 7 9
Фрагмент программы, реализующей данный алгоритм:
{считываем число, которое надо вставить в массив}
read(g);
{1. Ищем элемент больше вставляемого }
k:=1; {k – индекс сравниваемого элемента}
while (k<=n) and (g>=a[k]) do {если k не вышла за границу n,
и
вставляемый элемент меньше или равен A[k]}
k:=k+1; {то переходим к следующему элементу}
{2. Увеличиваем длину массива на 1}
n:=n+1;
{3. Сдвигаем элементы начиная с k-го вправо}
for i:=n downto k+1 do
a[i]:=a[i-1];
{4. В A[k] заносим g}
a[k]:=g;