Remplacer par position

On veut construire, à partir d’un ensemble de n élément, un nouvel ensemble de longueur n comprenant un nouvel élément remplacé à une position k. L’algorithme est formé de trois actions:

  • Copie des k-1 premiers élément de l’ensemble dans le nouvel ensemble
  • Insertion du nouvel élément à la position k dans le nouvel ensemble
  • Copie des derniers élément de l’ensemble dans le nouvel ensemble

Si la position n’existe pas l’algorithme renvoie un nouvel ensemble inchangé.

Traduction: Swift, Julia

remplacerParPosition(ensemble Ensemble
                    ,element Element
                    ,position Entier) 
                    -> Ensemble
   nouvelEnsemble >- Ensemble_Element(ensemble) 
   Si position < 1
      <- ensemble
   Fin 
   index <- 1 
   positionTrouvée <- Faux
   Initialiser(ensemble)
   Enumerer ensemble ET NON positionTrouvée
      Si index = position
         Ranger_Element(nouvelEnsemble,element)
         positionTrouvée <- Vrai
      Sinon
         index <- index + 1
         Ranger_Element(nouvelEnsemble,Element_Courant(ensemble))
      Fin
      Element_Suivant(ensemble)
   Fin
   Enumeration(ensemble)
      Ranger_Element(nouvelEnsemble,Element_Courant(ensemble))
      Element_Suivant(ensemble)
   Fin 
   <- nouvelEnsemble
Fin

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

A3soft