Алгоритм - Вставка элемента в непрерывный список

Как и в случае с удалением, у нас есть два случая вставки:

Вставьте в начало и середину:

В этом случае нам нужно найти позицию элемента, который нужно вставить. Операция выполняется в два этапа:
  • Увеличить размер массива на 1.
  • Сдвиньте все элементы от n к k, а затем вставьте элемент в позицию k.

Вставить в конце:

Это очень простой случай, потому что смещение не выполняется.

Алгоритм, объединяющий два случая:

Алгоритм вставки;
Вар 
  i,k,x: целое число;
  T[1..n]: целое число;
Начало
  чтение(и);
  n:=n+1;
  для i от n до k not-1
  faire
    T[i+1] := T[i];
  finfaire
      T[k] := x;
End

Процедура:

Процедура insert(L:list,k:1..lmax, x:element)
var i,n:1..lmax;
Начало
  n := L.длина;
  L.Длина:= n+1;
  для i от n до k not-1
  faire
    L.T[i+1] := L.T[i];
  finfaire
  L.T[i] := x;
Конец