Copie & Concaténation

Swift

Algorithme de copie version itération booléenne

Cet algorithme met en œuvre une itération contrôlée par une condition booléenne.Il délivre une copie de l’ensemble passé en paramètre.

func CopieEnsemble_1 <_Element>(_ ensemble: Ensemble<_Element>) 
                                -> Ensemble<_Element> 
{
   let nouvelEnsemble = Ensemble_Element(ensemble)
   Initialiser(ensemble)
   while Enumeration(ensemble) { 
      Ranger_Element(nouvelEnsemble,Element(ensemble)) 
   }
   return nouvelEnsemble
}

Algorithme de copie avec ensemble itérable

Cet algorithme met en œuvre une itération sur un ensemble itérable. Il délivre une copie de l’ensemble passé en paramètre.

func CopieEnsemble_2 <_Element>(_ ensemble: Ensemble<_Element>) 
                                -> Ensemble<_Element> 
{
   let nouvelEnsemble = Ensemble_Element(ensemble)
   Initialiser(ensemble)
   for element in ensemble { 
      Ranger_Element(nouvelEnsemble,element) 
   }
   return nouvelEnsemble
}

Test

func Test_Copie() {
   Afficher("Copie")
   let nombres_1 = File(1,2,3)
   Lister(nombres_1)

   print("")
   var ensemble = CopieEnsemble_1(nombres_1)
   Lister(ensemble)
   print("")
   ensemble = CopieEnsemble_2(nombres_1)
   Lister(ensemble)
}

Algorithme de concaténation de 2 ensembles avec itération booléenne

func Concatenation_1 <_Element>(_ ensemble_1: Ensemble<_Element>
                               ,_ ensemble_2: Ensemble<_Element>) 
                               -> Ensemble<_Element> 
{
   let nouvelEnsemble = Ensemble_Element(ensemble_1)
   Initialiser(ensemble_1)
   while Enumeration(ensemble_1) { 
      Ranger_Element(nouvelEnsemble,Element(ensemble_1)) 
   }
   Initialiser(ensemble_2)
   while Enumeration(ensemble_2) { 
      Ranger_Element(nouvelEnsemble,Element(ensemble_2)) 
   }
   return nouvelEnsemble
}

Algorithme de concatenation de 2 ensembles itérable

func Concatenation_2 <_Element>(_ ensemble_1: Ensemble<_Element>
                               ,_ ensemble_2: Ensemble<_Element>) 
                               -> Ensemble<_Element> 
{
   let nouvelEnsemble = Ensemble_Element(ensemble_1)
   for element in ensemble_1 { Ranger_Element(nouvelEnsemble,element) }
   for element in ensemble_2 { Ranger_Element(nouvelEnsemble,element) }
   return nouvelEnsemble
}

Test

func Test_Concatenation() {
   Afficher("Concaténation")
   let nombres_1 = File(1,2,3)
   Lister(nombres_1)
   print("")
   let nombres_2 = File(10,20,30)
   Lister(nombres_2)
   print("")
   var ensemble = Concatenation_1(nombres_1,nombres_2)
   Lister(ensemble)
   print("")
   ensemble = Concatenation_2(nombres_2,nombres_1)
   Lister(ensemble)
}

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