Cours chapitre listes listing 9

public Liste suppressionPremier(int elem){
  Liste ref=this;   //reference qui cherche elem
  Liste pred=null;  //predecesseur, initialise a null 
  while(ref != null && ref.premier() != elem){  //recherche elem
    pred = ref;         //avance pred
    ref = ref.reste();  //avance ref
  }
  if(ref != null){         //elem trouve dans la cellule ref
    if(pred == null)       //premiere cellule de la liste
      return ref.reste();  //retourne le reste de la liste
    else{                  //milieu de la liste
      pred.modifieReste(ref.reste()); //modifie le suivant du predecesseur
      return this;         //premiere cellule non modifiee
    }
  }
  else return this;        //element non trouve
}