Sie sind auf Seite 1von 11

Structure de données Liste

Par B.Said
Université de Ouargla
Principe

Structure de données linéaire.


Chaque élément est accédé par sa position.
On peut ajouter un nouveau élément dans une
position p: 1<= p <= taille + 1.
On peut supprimer un élément d’une position
p: 1<= p <= taille.
On peut calculer la longueur de la liste.

2
Signature

creerListe(): Liste.
listeVide(Liste): booléen.
insérer(Liste, Elément, entier): Liste.
supprimer(Liste, entier): Liste.
ième(Liste, entier): Elément.
longueur(Liste): entier.

3
Représentation de la liste

reste
element

Liste

Liste

4
Représentation par Objet

public class Liste {


private Object element;
private Liste reste;
Liste(){
this.element=null;
this.reste=null;
}

5
Méthodes (longueur, listeVide)

public int longueur(){


if(this.element==null) return 0;
if(this.reste==null) return 1;
return 1+reste.longueur();
}

public boolean listVide(){


return this.element ==null;
}

6
Méthodes (inserer)
public Liste inserer(Object v, int pos){
if(pos < 1 || pos > this.longueur()+1)
return this;
if(this.listVide()) this.element=v;
else if(pos==1){
Liste l=new Liste();
l.element=this.element;
l.reste=this.reste;
this.element=v;
this.reste=l;
}
else if(this.reste==null){
Liste l=new Liste();
l.element=v;
this.reste=l;
}
else this.reste.inserer(v, pos-1);
return this;
} 7
Méthodes (supprimer)
public Liste supprimer(int pos){
if(!this.listVide()&& pos > 0)
if(pos==1)
if(this.longueur() > 1){
this.element=this.reste.element;
this.reste=this.reste.reste;
}
else this.element = null;
else if(this.reste!=null)
this.reste.supprimer(pos-1);
return this;
}

8
Méthodes (ieme)

public Object ieme(int pos){


if(pos>longueur())
return null;
if(pos==1)
return this.element;
return this.reste.ieme(pos-1);
}

9
Exemple

public static TesterListe {


public static void main(String[] args) {
Liste l=new Liste();
for(int i=1;i<=100;i++) //remplir la liste
l.inserer("élément"+i, i);

for(int i=1;i<=50;i++)
// supprimer les éléments impairs
l.supprimer(i);

for(int i=1;i<l.longueur();i++)
System.out.println(l.ieme(i));
}
} 10
Sortie
élément2 élément34 élément66
élément4 élément36 élément68
élément6 élément38 élément70
élément8 élément40 élément72
élément10 élément42 élément74
élément12 élément44 élément76
élément14 élément46 élément78
élément16 élément48 élément80
élément18 élément50 élément82
élément20 élément52 élément84
élément22 élément54 élément86
Élément24 élément56 élément88
élément26 élément58 élément90
élément28 élément60 élément92
élément30 élément62 élément94
élément32 élément64 Élément96
élément98
11

Das könnte Ihnen auch gefallen