#pragma once

#include <stdio.h>

class Liste
{
public:
	char*element;
	Liste* _suite;
	static const Liste* LISTE_VIDE;

	Liste()
	{
		_suite=const_cast<Liste*>(LISTE_VIDE);	
	}

	Liste(char*e,Liste*suite)
	{
		_suite=suite;
		element=e;
	}

	Liste* suite()
	{
		return _suite;
	}

	static bool est_vide(Liste* l)
	{
		return l==LISTE_VIDE;
	}

	void afficher()
	{
		Liste::afficher(this);
	}

	static void afficher(Liste*l)
	{
		if(Liste::est_vide(l))
			return;
		printf("%s,",l->element);
		Liste::afficher(l->suite());
	}
} ;
