Recherche par valeur

Julia

Recherche avec itération  conditionnelle dans un ensemble non trié

function rechercheParValeur_1(ensemble,valeur)
   existe = false
   Initialiser(ensemble)
   while Enumeration(ensemble) && !existe
      element = Element_Courant(ensemble)
      existe = valeur == element
      Element_Suivant(ensemble)
   end
   return existe
end

ensemble = File(10,20,30,40)
ensembleVide = File()
println(rechercheParValeur_1(ensemble,10))
println(rechercheParValeur_1(ensembleVide,10))

Recherche avec itération conditionnelle dans un ensemble trié

function rechercheParValeur_2(ensemble,valeur)
   existe = false
   Initialiser(ensemble)
   while Enumeration(ensemble) && !existe
      element = Element_Courant(ensemble)
      if valeur < element break end
      existe = valeur == element
      Element_Suivant(ensemble)
   end
   return existe
end

println(rechercheParValeur_2(ensemble,20))
println(rechercheParValeur_2(ensembleVide,20))

Recherche dans un ensemble itérable non trié

function rechercheParValeur_3(ensemble,valeur)
   existe = false
   for element in ensemble.elements
      if valeur == element
         existe = true
         break
      end
   end
   return existe
end

println(rechercheParValeur_3(ensemble,30))
println(rechercheParValeur_3(ensembleVide,30))

Recherche dans un ensemble itérable trié

function rechercheParValeur_4(ensemble,valeur)
   existe = false
   for element in ensemble.elements
      if valeur < element break end
      if valeur == element
         existe = true
         break
      end
   end
   return existe
end

println(rechercheParValeur_4(ensemble,40))
println(rechercheParValeur_4(ensembleVide,40))

Recherche avec boucle infinie

function rechercheParValeur_5(ensemble,valeur)
   existe = false
   if ZeroElement(ensemble) return existe end
   Initialiser(ensemble)
   while true
      element = Element_Courant(ensemble)
      if AucunElement(ensemble) return existe end
      if valeur < element break end       
      if valeur == element
         existe = true
         return existe
      end
      Element_Suivant(ensemble)
   end
end

println(rechercheParValeur_5(ensemble,50))
println(rechercheParValeur_5(ensembleVide,40))

Swift

Recherche avec itération  conditionnelle dans un ensemble non trié

func rechercheParValeur_1 <_Element>(_ ensemble: Ensemble<_Element>
   ,_ valeur: _Element) 
   -> Bool {
   var existe = false
   Initialiser(ensemble)
   while Enumeration(ensemble) && !existe {
      let element = Element_Courant(ensemble)
      existe = valeur == element
      Element_Suivant(ensemble)
   }
   return existe
}

print(rechercheParValeur_1(ensemble,0))
print(rechercheParValeur_1(ensemble,1))
print(rechercheParValeur_1(ensemble,11))
print(rechercheParValeur_1(ensemble,8))

Recherche avec itération conditionnelle dans un ensemble trié

func rechercheParValeur_2 
   <_Element>(_ ensemble: Ensemble<_Element>
   ,_ valeur: _Element) 
   -> Bool {
   var existe = false
   Initialiser(ensemble)
   while Enumeration(ensemble) && !existe {
      let element = Element_Courant(ensemble)
      if valeur < element { break }
      existe = valeur == element
      Element_Suivant(ensemble)
   }
   return existe
}

print(rechercheParValeur_2(ensemble,0))
print(rechercheParValeur_2(ensemble,1))
print(rechercheParValeur_2(ensemble,11))
print(rechercheParValeur_2(ensemble,8))

Recherche dans un ensemble itérable non trié

func rechercheParValeur_3 
   <_Element>(_ ensemble: Ensemble<_Element>
   ,_ valeur: _Element) 
   -> Bool {
   var existe = false
   for element in ensemble {
      if valeur == element {
         existe = true
         break
      }
   }
   return existe
}

print(rechercheParValeur_3(ensemble,0))
print(rechercheParValeur_3(ensemble,1))
print(rechercheParValeur_3(ensemble,11))
print(rechercheParValeur_3(ensemble,8))

Recherche dans un ensemble itérable trié

func rechercheParValeur_4 
   <_Element>(_ ensemble: Ensemble<_Element> 
   ,_ valeur: _Element) 
   -> Bool { 
   
   var existe = false 
   for element in ensemble { 
      if valeur < element { break } 
      if valeur == element { 
         existe = true 
         break 
      } 
   } 
   return existe 
}

print(rechercheParValeur_4(ensemble,0))
print(rechercheParValeur_4(ensemble,1))
print(rechercheParValeur_4(ensemble,4))
print(rechercheParValeur_4(ensemble,8))

Recherche avec boucle infinie

func rechercheParValeur_5 
   <_Element>(_ ensemble: Ensemble<_Element>
   ,_ valeur: _Element) 
   -> Bool {

   var existe = false
   Initialiser(ensemble)
   while true {
      if AucunElement(ensemble) { break }
      let element = Element_Courant(ensemble)
      if valeur < element { break }
      if valeur == element {
         existe = true
         break
      }
      Element_Suivant(ensemble)
   }
   return existe
}

print(rechercheParValeur_5(ensemble,0))
print(rechercheParValeur_5(ensemble,1))
print(rechercheParValeur_5(ensemble,4))
print(rechercheParValeur_5(ensemble,18))

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