Supprimer un élément

Algorithme de suppression d’un élément dans un ensemble d’éléments non triés.

Objectif:
    On recherche séquentiellement un élément par sa valeur ou sa position
    dans un ensemble d'éléments non triés. 

Algorithme
    Une valeur ou une position sont passés en paramètre de l'algorithme 
    qui retourne une valeur booléenne et le nouvel ensemble modifié ou non.
    Une première itération permet de ranger les éléments dans un 
    nouvel ensemble,tant que l'on ne trouve pas la valeur de 
    l'élément ou sa position. 
    L'indicateur booléen trouvé est positionné à vrai si la valeur 
    ou la position ont été trouvé.
    Une deuxième itération permet de continuer le rangement 
    des éléments tant que l'on n'a pas atteint la fin 
    de l'ensemble de départ.
   
Remarque
    L'ensemble se départ n'est pas modifié
Résultat
    l'algorithme retourne le nouvel ensemble et le booléen  Vrai si l'élément à été    
    supprimé et Faux sinon,

Suppression par valeur

supprimerParValeur ensemble Ensemble, valeur Element -> ok Bool, ensemble Ensemble
   trouvé <- Faux
   nouvelEnsemble >- Structure ensemble
   Initialiser ensemble 
   Enumerer ensemble ET NON trouvé
      element >- Element_Courant ensemble
      Si valeur = element 
         trouvé <- Vrai 
      Sinon 
         nouvelEnsemble <- element
      Fin
      Element_Suivant ensemble 
   Fin
   Si trouvé
      Enumerer ensemble
         element >- Element_Courant ensemble
         nouvelEnsemble <- element
         Element_Suivant ensemble 
      Fin 
   Fin
   <- trouvé nouvelEnsemble
Fin

Suppression par position

Cet algorithme est similaire à celui présenté ci-dessus. Un compteur de position permet rechercher un élément à la position donné en paramètre.

supprimerParPosition ensemble Ensemble, position Entier -> ok Bool, ensemble Ensemble
   trouvé <- Faux
   index <- 1
   nouvelEnsemble >- Structure ensemble
   Initialiser ensemble 
   Enumerer ensemble ET NON trouvé
      element >- Element_Courant ensemble 
      Si position = index 
         trouvé <- Vrai 
      Sinon 
         nouvelEnsemble <- element
      Fin
      index <- index + 1
      Element_Suivant ensemble
   Fin
   Si trouvé 
      Enumerer ensemble 
         element >- Element_Courant ensemble
         nouvelEnsemble <- element
         Element_Suivant ensemble
      Fin
   Fin
   <- trouvé nouvelEnsemble
Fin

Notes

Dans ces deux algorithme le parcours de tous les éléments de l’ensemble est réalisé avec un itération booléenne de la forme:

Enumerer ensemble expression booléenne
   Instructions
Fin

Traduction des algorithmes Swift, Julia

copyright A rchitectures A pplicatives A vancées A3-Soft

A3soft