
public class Element {
	private int valeur;
	private Element suivant;
	private Element precedent;

	public Element(int valeur, Element suivant, Element precedent) {
		this.valeur = valeur;
		this.suivant = suivant;
		this.precedent = precedent;
	}

	public Element(int valeur) {
		this.valeur = valeur;
		this.suivant = null;
		this.precedent = null;
	}

	public int getValeur() {
		return this.valeur;
	}

	public Element getSuivant() {
		return this.suivant;
	}

	public void setSuivant(Element x) {
		this.suivant = x;
	}

	public Element getPrecedent() {
		return this.precedent;
	}
	public void setPrecedent(Element x) {
		this.precedent = x;
	}

	public int longueur() {
		if (this.suivant == null) {
			return 1;
		}
		return this.suivant.longueur() + 1;
	}

	public void afficher() {
		System.out.println(this.valeur);
		if(this.suivant != null) {
			this.suivant.afficher();
		}
	}

	public void afficherInverse() {
		if(this.suivant != null) {
			this.suivant.afficherInverse();
		}
		System.out.println(this.valeur);
	}

	public boolean estTriee() {
		if(this.suivant == null) {
			return true;
		}
		else if(this.valeur > this.suivant.valeur) {
			return false;
		}
		else {
			return this.suivant.estTriee();
		}
	}
	
	public boolean verifContraine() {
		if(this.suivant == null || this.suivant.suivant == null) {
			return true;
		}
		else if(this.valeur + this.suivant.valeur == this.suivant.suivant.valeur) {
			return false;
		}
		else {
			return this.suivant.verifContraine();
		}
	}
	
}
