Вставка элементов в одномерный массив
Вставка одного элемента (алгоритм) Пусть k - это номер элемента, после которого мы должны вставить элемент х. Тогда вставка осуществляется следующим образом: первые k элементов массива остаются без изменения; увеличить количество элементов в массиве на единицу. все элементы, начиная с n-го до (k+1)-го, необходимо сдвинуть на один вперёд; на место (k+1)-го элемента записываем значение х;
Образец работы алгоритма Задача. Вставить число 100 после пятого элемента массива. Пусть задан следующий одномерный массив из N (N=10) элементов: 3, -12, 5, 14, 27, -6, 1, -34, 10, -15. Надо вставить 100 после пятого элемента массива, т. е. должен получиться следующий массив: 3, -12, 5, 14, 27, 100, -6, 1, -34, 10, -15.
Процедура вставки элемента в массив Procedure Insert1(Var m : MyArray; Var n : integer; Mesto, Element : integer); Var i : integer; Begin for i := n downto Mesto+1 do m[i+1] := m[i]; m[Mesto+1]:= Element; Inc(n); End;
Решение задач Составьте программу вставки числа перед некоторым заданным элементом. Составьте программу вставки в массив двух/трёх/произвольного количества элементов. Примечание Если мы будем просматривать массив с начала и вставлять новый после элемента с заданным свойством, то номер последнего элемента каждый раз может меняться, кроме того, будет просматриваться и новый (вставленный) элемент и его необходимо будет пропускать, поэтому решение будет не очень эффективным. Лучше всего просматривать массив, начиная с конца, тогда вставляемый элемент мешать не будет.