Bonjour,

Je ne parviens pas à résoudre mes méthodes : chercher, eniem et snoc.

Merci d'avance pour vos retours.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
		}
 	}
}