Module Info31 – L2 Sciences & Techniques Université de Bourgogne Dominique Michelucci
TP3– listes et piles
Exercice 1 – listes
Programmez en Java et testez les algorithmes sur les listes vus en TD. Vous devez tout d'abord décider avant de travailler en Orienté Objet ou sans Orienté Objet, ne combinez pas les deux notations.
a) créez une classe listes (public class listes) avec deux champs : int elt;
listes suite;
b) ajoutez et testez les deux premières séries de méthodes : - méthodes de base :
- ajoutT - vide - estVide - tete - queue
- méthodes de manipulation : - concat
- creerAleat - afficher
c) ajoutez et testez successivement les séries de méthodes de chaque tri.
Testez d'abord sur des listes courtes construites avec les méthodes vide et ajoutT.
d) Testez ensuite sur des listes longues générées avec la méthode creerAleat.
Le nombre d'élément de la liste à créer aléatoirement doit être passé en paramètre au lancement de votre programme java.
Pour le tri par sélection, vérifiez avec une liste de plusieurs milliers d'éléments que vous avez un message de débordement de pile à l'exécution.
Utilisez l'option -Xss, voir ci-dessous, pour augmenter la taille de la pile à l'exécution : compilez avec javac listes.java
exécutez avec java -Xss4m listes 20000
Exercice 2 – piles
Utilisez votre classe listes pour créer une classe pile. Programmez en Java et testez l'évaluation d'une expression postfixe en supposant que l'expression postfixe est stockée dans une liste ou une chaîne de caractères ; les opérandes étant des chiffres.
Vous trouverez dans le sujet de TP noté de 2013 (énoncé 2013-tpNote.pdf disponible à l'adresse http://ufrsciencestech.u-bourgogne.fr/licence2/Info31/ANNALES/) les opérations nécessaires sur les chaînes ainsi que des pistes pour travailler avec des expressions postfixes contenant des nombres.
TP3-1-