Algorithme - Insertion d'un élément dans une liste contiguë

Comme la suppression, on a deux cas dans l'insertion:

Insertion au début et au milieu:

Dans ce cas on a besoin de chercher la position de l'élément à insérer. L'opération s'effectue en deux étapes:
  • Incrémenter la taille du tableau avec 1.
  • Décaler tous les éléments de n à k puis insérer l'élément à la position k.

Insertion à la fin :

C'est un cas très simple car le décalage n'est pas effectué.

L'algorithme qui réunit les deux cas :

Algorithme inserer;
Var 
  i,k,x: entier;
  T[1..n] : entier;
Début
  lire(x);
  n:=n+1;
  pour i de n à k pas-1
  faire
    T[i+1] := T[i];
  finfaire
    T[k] := x;
Fin

Procédure:

Procédure inserer(L:liste,k:1..lmax, x:élément)
var i,n:1..lmax;
Début
  n := L.longueur;
  L.longueur := n+1;
  pour i de n à k pas-1
  faire
    L.T[i+1] := L.T[i];
  finfaire
  L.T[i] := x;
Fin