[PDF] [PDF] • Listes chaînées • Piles - IRIF

Listes chaînées Une liste chaînée est une suite de couples formés Créer une liste vide et tester si une liste est vide – Afficher une Listes chaînées en Java



Previous PDF Next PDF





[PDF] Cours 1: Eléments de Java, Listes - LIX-polytechnique

En Java, toutes les variables sont déclarées et typées String a; float z; Liste lst; Pour une liste vide: lst vaut null Pour une liste non vide: ▻ lst contenu est le 



[PDF] Listes chaînées

En considérant que la liste la plus simple est la liste vide (notée [ ]), qui ne contient aucun Il y a plusieurs façons de représenter les listes chaînées en Java



[PDF] Java : les collections

G List Java List ArrayList LinkedList Vector H H: Research and Training 6 / 50 isEmpty() : retourne true si la liste est vide, false sinon contains(object) 



[PDF] TD Listes - Formations en Informatique de Lille

et en particulier du langage JAVA, cette correction1 est découpée en Liste Vide "Une chaine" (b) Liste chainée à un élément, de type String, ayant pour



[PDF] LISTES

En Java, la valeur d'une variable de type agrégé est une référence Une référence Implantation en Java LISTES ⋆ IFT2015 H2007 tete = -1; // liste vide



[PDF] Collections en Java - Département dinformatique et de recherche

List: hérite aussi de collection, mais autorise la duplication Dans cette vérifier si la collection est vide et finalement d'effacer le contenu de la collection



[PDF] Collections : listes - CS-108

vide – int size() : retourne le nombre d'éléments contenus dans la collection – boolean Le concept de liste est représenté dans l'API Java par l'interface List 



[PDF] La classe ArrayList - myplatform

La liste des références des Comme ce type de probl`eme est récurrent en informatique, java, comme la plupart des permet de savoir si une liste est vide



[PDF] • Listes chaînées • Piles - IRIF

Listes chaînées Une liste chaînée est une suite de couples formés Créer une liste vide et tester si une liste est vide – Afficher une Listes chaînées en Java



[PDF] Cours 1: Listes - IGM

Java) pour présenter les exemples ou les signatures de fonctions Néanmoins Une liste de T est, soit la liste vide, soit composée d'une tête de liste de type T 

[PDF] cours php pdf complet

[PDF] parcours 3éme année du cycle secondaire collégial

[PDF] référentiel parcours avenir

[PDF] contraintes du parcours avenir

[PDF] parcours avenir folios

[PDF] les grandes phases de la seconde guerre mondiale

[PDF] guerre des tranchées 14-18

[PDF] epi parcours avenir stage

[PDF] l'immigration irlandaise aux etats unis

[PDF] immigration aux etats unis au 20eme siecle

[PDF] intégration irlandaise aux etats unis

[PDF] immigration aux etats unis d'amérique

[PDF] célébrité immigré aux usa

[PDF] les héros de l'iliade résumé

[PDF] iliade personnages

Amphi 21

Plan •Listes chaînées •Piles

Amphi 22

Listes chaînées

Une liste chaînée est une suite de couples formés d'un élément et de l'adresse (référence) vers l'élément suivant. C'est un jeu de piste (ou un lien dans une page).

Opérations usuelles sur les listes

-Créer une liste vide et tester si une liste est vide. -Afficher une liste -Ajouter un élément en tête de liste. -Rechercher un élément. -Supprimer un élément. -Afficher, retourner, concaténer, dupliquer . . .

Amphi 23

Listes chaînées en Java

class Liste { int contenu;

Liste suivant;

Liste(int x,Liste a) {

contenu = x; suivant = a; contenu contenu contenu suivant suivant suivant

Amphi 24

Les opérations primitives sur les listes

static int tete(Liste a) return a.contenu; static Liste queue(Liste a) return a.suivant; static Liste ajouter(int x, Liste a) return new Liste(x, a); non destructives !

Amphi 25

Identités sur les opérations de liste

• tete(ajouter(x, a)) = x • queue(ajouter(x, a)) = a • ajouter(tete(a), queue(a)) = a (a ≠ null)

Amphi 26

Recherche dans une liste (itérative)

static boolean estDansI(int x, Liste a) while (a != null) if (a.contenu == x) return true; a = a.suivant; return false;

Amphi 27

Recherche itérative (variante)

static boolean estDansI(int x, Liste a) for ( ; a != null; a = a.suivant) if (a.contenu == x) return true; return false;

Amphi 28

Recherche dans une liste (récursive)

static boolean estDans(int x, Liste a) if (a == null) return false; if (a.contenu == x) return true; return estDans(x, a.suivant);

Amphi 29

Recherche dans une liste (récursive abrégée) static boolean estDans(int x, Liste a) return (a != null) && (tete(a) == x || estDans(x, queue(a)));

Amphi 210

Suppression de la première occurrence de x

static Liste supprimerI(int x, Liste a){ if (a == null) return a; if (a.contenu == x) return a.suivant;

Liste b = a, c = b.suivant;

for (; c != null; b = c, c = c.suivant) if (c.contenu == x){ b.suivant = c.suivant; break; return a;

Amphi 211

Suppression (itératif)

(1) c.contenu ≠ x 2 3 4 5 b c // invariant b.suivant == c (2) c.contenu = x 2 3 4 5 b c 2 3 4 5 b c

Amphi 212

Suppression dans une liste (récursive)

static Liste supprimer(int x, Liste a) if (a == null) return a; if (a.contenu == x) return a.suivant; a.suivant = supprimer(x, a.suivant); return a; // variante dans le poly x

Amphi 213

Suppression récursive en conservant la liste

static Liste supprimer(int x, Liste a) { // variante dans le poly if (a == null) return a; if (a.contenu == x) return a.suivant; return new Liste(a.contenu, supprimer(x, a.suivant)); x

Amphi 214

Concaténation de listes (avec copie de a)

static Liste concat(Liste a, Liste b) { // variante dans le poly if (a == null) return b; return ajouter(a.contenu, concat(a.suivant, b); b a

Amphi 215

Fusion de deux listes (itératif)

static Liste fusionI(Liste a, Liste b) {// Suppose a et b distinctes if (a == null) return b;

Liste c = a;

while (c.suivant != null) c = c.suivant; c.suivant = b; return a; b a c

Amphi 216

Fusion de deux listes

static Liste fusion(Liste a, Liste b) if (a == null) return b; a.suivant = fusion(a.suivant, b);quotesdbs_dbs3.pdfusesText_6