Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Amphi 2
Listes chanes
Une liste chane est une suite de couples forms d'un lment et de l'adresse (rfrence) vers llment suivant. C'est un jeu de piste (ou un lien dans une page). Oprations usuelles sur les listes
Crer une liste vide et tester si une liste est vide. Afficher une liste Ajouter un lment en tte de liste. Rechercher un lment. Supprimer un lment. Afficher, retourner, concatner, dupliquer . . . Amphi 2
Amphi 2
...
static Liste queue(Liste a) { return a.suivant; } static Liste ajouter(int x, Liste a) { return new Liste(x, a); }
Amphi 2 4
Amphi 2
Amphi 2
...
Amphi 2
...
Amphi 2
static boolean estDans(int x, Liste a) { return (a != null) && (tete(a) == x || estDans(x, queue(a))); }
Amphi 2
Suppression (itratif)
b
3 4 5
// invariant b.suivant == c
(2) c.contenu = x b
(1) c.contenu x
3 4 5
3 4 5
Amphi 2
11
Amphi 2
...
12
Amphi 2
...
13
Amphi 2
14
Amphi 2
15
Amphi 2
16
4 5
3 a
(2) b = a 5 (3) a = c
Amphi 2
18
1 2 3
b
2 3
b
3
b
1 1 1
20
2 2
a
Amphi 2
Amphi 2
21
Amphi 2
23
3X^5 - 4X^2 + 1
Amphi 2
25
Polynmes
class Pol { int coeff, degre; Pol suivant; Pol(int c, int d, Pol p) { coeff = c; degre = d; suivant = p; } }
Amphi 2 26
Amphi 2
29
Amphi 2
31
static void afficherMonome(Pol p, boolean premierMonome){ int a = p.coeff; if (premierMonome && (a < 0)) System.out.print("-");// Evite + 5X else if (!premierMonome) afficherSigne(a); if ((a != 1 && a != -1) || (p.degre == 0)) // Evite 1X^3 System.out.print(Math.abs(a)); if (p.degre > 0) // Evite X^0 System.out.print("X"); if (p.degre > 1) // Evite X^1 System.out.print("^" + p.degre); }
Plan
Piles
Amphi 2
35
Fin de file
Amphi 2 36
Amphi 2
39
hauteur 6
sommet de pile
La classe Pile
class Pile { static final int maxP = 10; int hauteur; int[] contenu; Pile() { hauteur = 0; contenu = new int[maxP]; } }
Amphi 2 41
Constructeur
Pile p = new Pile();
0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0
hauteur 0
Amphi 2
42
0 1 2 3 4 5 6 7 8 9
Avant 6 2 7 0 2 8 0 2 3 4
hauteur 5 hauteur 0
0 1 2 3 4 5 6 7 8 9
Aprs 6 2 7 0 2 8 0 2 3 4
0 1 2 3 4 5 6 7 8 9
6 2 7 0 2 8 0 2 3 4
hauteur 5 hauteur 6
Ajouter 9
0 1 2 3 4 5 6 7 8 9
6 2 7 0 2 9 0 2 3 4
0 1 2 3 4 5 6 7 8 9
6 2 7 0 2 9 0 2 3 4
hauteur 6 hauteur 5
0 1 2 3 4 5 6 7 8 9
6 2 7 0 2 9 0 2 3 4