TP-programmation-orientee-o.../TP08/EnsembleChaine.java
2023-06-20 21:02:09 +02:00

60 lines
1.5 KiB
Java

public class EnsembleChaine<E> implements Ensemble<E> {
protected Cellule<E> premiere;
@Override
public int cardinal() {
int nb = 0;
Cellule<E> curseur = this.premiere;
while (curseur != null) {
nb++;
curseur = curseur.suivante;
}
return nb;
}
@Override
public boolean estVide() {
return this.premiere == null;
}
@Override
public boolean contient(E x) {
Cellule<E> curseur = this.premiere;
while (curseur != null) {
if (curseur.element == x) {
return true;
}
curseur = curseur.suivante;
}
return false;
}
@Override
public void ajouter(E x) {
if (!this.contient(x)) {
Cellule<E> newCellule = new Cellule<E>(x, this.premiere);
this.premiere = newCellule;
}
}
@Override
public void supprimer(E x) {
if (this.contient(x)) {
if (this.premiere.element == x) {
this.premiere = this.premiere.suivante;
} else {
Cellule<E> curseur = this.premiere;
while (curseur.suivante != null && curseur.suivante.element != x) {
curseur = curseur.suivante;
}
if (curseur.suivante != null) {
Cellule<E> save = curseur.suivante;
curseur.suivante = curseur.suivante.suivante;
save.suivante = null;
}
}
}
}
}