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(ensemble) existe = Egal(valeur,element) } return existe }
Recherche dans le cas d’un ensemble itérable
func rechercheParValeur_2 <_Element>(_ ensemble: Ensemble<_Element> ,_ valeur: _Element) -> Bool { var existe = false for element in ensemble { if Egal(valeur,element) { existe = true break } } return existe }
Version optimisée pour un ensemble trié
func rechercheParValeur_3 <_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 }
Recherche avec boucle infinie
func rechercheParValeur_4 <_Element>(_ ensemble: Ensemble<_Element> ,_ valeur: _Element) -> Bool { var existe = false Initialiser(ensemble) while true { if Dernier(ensemble) { break } let element = Element(ensemble) if valeur < element { break } if Egal(valeur,element) { existe = true break } } return existe }
copyright A rchitectures A pplicatives A vancées A3-Soft