/**
 * Définition récursive d'une liste. Attention, il ne s'agit pas de poupées
 * russes. Ici, une Liste ne contient pas une Liste contrairement aux
 * apparences. Il se trouve que la définition d'une variable de type non
 * primitif en Java fournit TOUJOURS une référence. Par conséquent, à
 * l'intérieur d'une Liste nous avons la référence vers une autre Liste
 * (externe donc). Sinon, nous serions devant un paradoxe...
 *
 * Exercice : définir une fonction récursive permettant d'afficher la
 * liste dans l'ordre des éléments.
 * Exercice : définir une fonction récursive permettant d'afficher la liste
 * dans l'ordre inverse des éléments.
 *
 * @author JBY
 */
class Liste {
  public int element;
  public Liste laSuite;
}

public class ListeExemple {
  public static void main(String []args) {
    Liste l1 = new Liste();
    l1.element = 1;
    Liste l2 = new Liste();
    l2.element = 2;
    Liste l3 = new Liste();
    l3.element = 3;
    l1.laSuite = l2;
    l2.laSuite = l3;
    l3.laSuite = null;
  }
}