Insérer par valeur

Julia

Rappels
Primitives Schema présentes dans les traductions ci-dessous

Ensemble_Element()    Création d'un ensemble vide
Initialiser(ensemble) Initialisation d'une itération d'ensemble
Enumeration(ensemble) Expression booléenne de contrôle de l'itération
Element(ensemble)     Renvoie l'élément courant 
                      et positionne sur élément suivant
Ranger_Element(ensemble,element) Ajoute un élément dans ensemble
Lister(ensemble)      Liste les élément d'un ensemble
File.                 Création d'un ensemble

Insérer un élément avant une valeur dans un ensemble séquentiel

function insererParValeurApres(ensemble, apresElement,elementAinserer)
   existe = false
   nouvelEnsemble = Ensemble_Element()
   Initialiser(ensemble)
   while Enumeration(ensemble) && !existe
      element = Element(ensemble)
      existe = element == apresElement
      Ranger_Element(nouvelEnsemble,element)
   end
   if existe
      Ranger_Element(nouvelEnsemble,elementAinserer)
      while Enumeration(ensemble) 
         Ranger_Element(nouvelEnsemble,Element(ensemble)) 
      end
   end
     return nouvelEnsemble
end

Insérer un élément après une valeur dans un ensemble séquentiel

function insererParValeurAvant(ensemble, avantElement,elementAinserer)
   existe = false
   nouvelEnsemble = Ensemble_Element()
   Initialiser(ensemble)
   while Enumeration(ensemble) && !existe
      element = Element(ensemble)
      existe = element == avantElement
      if existe Ranger_Element(nouvelEnsemble,elementAinserer) end
      Ranger_Element(nouvelEnsemble,element)
   end
   while Enumeration(ensemble) 
      Ranger_Element(nouvelEnsemble,Element(ensemble)) 
   end
   return nouvelEnsemble
end

Test

function Test_InsererParValeur()
   println("File: Les éléments de nombres ")
   nombres = File(30,9,111,12,115, 13,14,15,111,100)
   Lister(nombres)

   println("")
   elementAInserer = 999
   apresElement = 111
   println("Inserer element ",elementAInserer, 
           " apres element ",apresElement)
   ensemble = insererParValeurApres(nombres,apresElement,elementAInserer)
   Lister(ensemble)

   println("")
   elementAInserer = 999
   apresElement = 100
   println(Inserer element ",elementAInserer, 
           " apres element ",apresElement)
   ensemble = insererParValeurApres(nombres,apresElement,elementAInserer)
   Lister(ensemble)

   println("")
   elementAInserer = 999
   apresElement = 8
   println("Inserer element ",elementAInserer, 
           " apres element ",apresElement)
   ensemble = insererParValeurApres(nombres,apresElement,elementAInserer)
   Lister(ensemble)
  
   println("")
   elementAInserer = 999
   avantElement = 111
   println("Inserer element ",elementAInserer, 
           " avant element ",avantElement)
   ensemble = insererParValeurAvant(nombres,avantElement,elementAInserer)
   Lister(ensemble)     println("")
   elementAInserer = 999
   avantElement = 8
   println("Inserer element ",elementAInserer, 
           " avant element ",avantElement)
   ensemble = insererParValeurAvant(nombres,avantElement,elementAInserer)
   Lister(ensemble)
end

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