アルゴリズム - 連続したリストへの項目の挿入

削除と同様に、挿入には2つのケースがあります:

先頭と中央に挿入:

この場合、挿入する要素の位置を探す必要があります。操作は2つのステップで実行されます:
  • 配列のサイズを 1.
  • すべての要素を n から k にシフトし、その要素を k の位置に挿入します。

末尾に挿入:

オフセットが実行されないため、これは非常に単純なケースです。

2つのケースを組み合わせたアルゴリズム:

挿入アルゴリズム;
変数 
 i、k、x:整数。
 T [1..n]:整数。
Start
 読み取り;
 n:=n+1;
 n から k までの i の場合 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;
Start
 n := L.長さ;
 L.Length:= n+1;
 n から k までの i の場合 not-1
 faire
  L.T[i+1] := L.T[i];
 finfaire
 L.T[i] := x;
End