Liste chaînée et méthodes
Bonjour,
Je ne parviens pas à résoudre mes méthodes : chercher, eniem et snoc.
Merci d'avance pour vos retours.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| class Cellule {
public int valeur;
public Cellule suivant;
Cellule(int _valeur)
{
valeur = _valeur;
suivant = null;
}
}
class ListeChaineeL1
{
public Cellule tete;
ListeChaineeL1()
{
tete = null;
}
public boolean Empty ()
{
if (tete == null)
return true;
else
return false;
}
public int Head ()
{
if (Empty ())
return -1;
else
return tete.valeur;
}
public Cellule Tail () {
if (Empty ())
return null;
else
return tete.suivant;
}
public boolean Cons (int e)
{
if(e>=0)
{
Cellule tmp = new Cellule (e);
tmp.suivant = tete;
tete=tmp;
return true;
}
else{
return false;
}
}
public int longueur() {
Cellule current = tete;
int longueur = 0;
while (tete!=null){
tete = tete.suivant;
longueur ++;
}
return longueur;
}
public boolean chercher(ListeChaineeL1 listeX, int element) {
boolean retour = false;
if (listeX != null)
if (listeX.head() == element)
return true;
else
Cellule nextCellule = listeX.tail();
while (!retour && nextCellule != null) {
if (nextCellule.valeur == element)
return true;
else
nextCellule = nextCellule.NextCellule();
}
return retour;
}
public static int nieme(ListeChaineeL1 listeX, int position) {
if (position == 1) {
return listeX.head();
} else {
return ListeChaineeL1.nieme(listeX, position - 1);
}
}
public static void snoc(ListeChaineeL1 listeX, int cellule) {
cellule nextCellule = listeX.tail();
while (nextCellule != null) {
nextCellule = nextCellule.NextCellule();
}
ListeChaineeL1 nouvelle = new ListeChaineeL1();
nouvelle.cons(cellule);
return;
}
public void afficher() {
Cellule cellule = tete;
while (cellule != null ) {
System.out.println(", " +cellule);
cellule = cellule.suivant;
}
}
} |