/* Recherche de la presence d'une valeur entiere */ /* dans un tableau d'entiers trie */ /* par ordre croissant */ /* Methode sequentielle */ public class RecherchePresenceMethodeSequentielle { /////////////////////////////////////////////////// /* Recherche sequentielle de la presence */ /* d'un int dans un tableau de int trié */ /* par ordre croissant */ /* Retour de true si présent, false sinon */ /* v : Entier recherché */ /* t : Tableau d'entiers de recherche */ /* (trié par ordre croissant) */ static boolean estPresent(int v,int [] t) { boolean run = true; boolean trouve = false; int i = 0; while ( run == true ) { if ( t[i] == v ) { run = false; trouve = true; } else { if ( t[i] > v ) { run = false; } else { i++; if ( i == t.length ) { run = false; } } } } return trouve; } /* Recherche sequentielle de la presence */ /* d'un int dans un tableau de int trie */ /* Version optimisee */ /* v : Entier recherché */ /* t : Tableau d'entiers de recherche */ /* (trié par ordre croissant) */ static boolean estPresent2(int v,int [] t) { int i = 0; while ( ( i != t.length ) && ( t[i] < v ) ) { i++; } return ( ( i < t.length ) && ( t[i] == v ) ); } /////////////////////////////////////////////////// /* Fonction d'affichage des valeurs contenues */ /* dans un tableau de int */ static void affichageTableau(int [] t) { for ( int i = 0 ; i < t.length ; i++ ) { Ecran.formater("%4d",t[i]); } } /* Fonction de creation d'un tableau de 10 int */ /* initialise avec des valeurs croissantes */ static int [] initRandCroissant() { int [] t = new int[10]; t[0] =(int) (Math.random()*3.0); for ( int i = 1 ; i < t.length ; i++ ) { t[i] = t[i-1] + (int) (Math.random()*3.0); } return t; } /* Programme principal */ public static void main(String [] args) { boolean present; int [] t; int v; t = initRandCroissant(); affichageTableau(t); Ecran.sautDeLigne(); Ecran.afficher("SVP, valeur à rechercher : "); v = Clavier.saisirInt(); present = estPresent(v,t); Ecran.afficherln(v," present : ",present); present = estPresent2(v,t); Ecran.afficherln(v," present : ",present); } }