Algorithme - Suppression d'un élément dans une liste contiguë(tableau)
On a deux cas de suppression:
Suppression au début et au milieu:
Dans ce cas on a besoin de chercher la position de l'élément à supprimer. L'opération s'effectue en deux étapes:
- Écraser l'élément à l'indice k en décalant tous les autres qui ont un indice supérieur.
- Décrémenter la taille du tableau avec 1.
Suppression à la fin :
C'est un cas très simple, il suffit de décrémenter la taille du tableau avec 1.
L'algorithme qui réunit les deux cas :
Algorithme supprimer; Var i,k : entier; T[1..n] : entier; Début pour i de k à n-1 faire T[i] := T[i+1]; finfaire n := n-1; Fin |
Procédure:
Procédure supprimer(L:liste,k:1..lmax) var i,n:1..lmax; Début n := L.longueur; pour i de k à n-1 faire L.T[i] := L.T[i+1]; finfaire L.longueur := n-1; Fin |
Voir aussi:
Algorithme | Insertion et suppression d'un élément dans une liste chaînée.
Algorithme | Listes contiguës et chaînées.
Algorithme | Insertion d'un élément dans une liste contiguë(tableau).
C/C++ | Suppression d'une valeur dans un tableau.