Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercice n 2 1. On suppose quon veut crire une classe TriListes qui contient des mthodes pour e e manipuler des listes dentiers. Ecrire une mthode estTriee qui prend en argument e une liste dentiers (List<Integer> dnie dans le package java.util), et qui retourne e vrai si les lments de la liste sont tris par ordre croissant (on pourra avoir deux fois ee e le mme lment dans la liste). e ee 2. La mthode estTriee peut-elle tre statique ? e e 3. Ecrire une mthode fusion qui prend en argument deux listes tries et retourne une e e liste (LinkedList<Integer>) contenant les lments tris des deux listes : ee e fusion([1; 5; 6; 9; 12], [2; 7; 9; 11]) [1; 2; 5; 6; 7; 9; 9; 11; 12]. 4. Ecrire une mthode split qui prend en argument trois listes : une liste l quelconque, e et deux listes r1 et r2 vides. La mthode split remplit la liste r1 avec les lments de l e ee placs en position paire (0, 2, etc.) et r2 avec les lments de l placs en position impaire e ee e (1, 3, etc.) : split(l = [4; 2; 9; 1; 4; 7; 3; 8], r1 = [], r2 = []) r1 = [4; 9; 4; 3], r2 = [2; 1; 7; 8]. 5. Pour trier une liste, on consid`re lalgorithme suivant : e si la liste est de longueur 1, elle est trie ; e sinon, on spare la liste en deux listes (split), on trie rcursivement chacune des deux e e listes, puis on les fusionne. Ecrire la mthode tri qui prend une liste en argument et retourne la liste trie qui e e contient les mmes valeurs : e tri([4; 2; 9; 1; 4; 7; 3; 8]) [1; 2; 3; 4; 4; 7; 8; 9]. 6. Maintenant, on veut que la classe TriListes tende la classe LinkedList<Integer>. e a) Ecrire lentte de la classe TriListes. e b) On veut modier la mthode estTriee de faon ` ce quon puisse crire l.estTriee(), e c a e si l est un objet de type TriListes. Expliquer ce quil faut faire comme modications par rapport ` la version de estTriee du 1. a