package liste;
import abstrakteDatentypen.IntegerStack;



public class IntegerListe implements IntegerStack
{
	// Daten
	private IntegerListeKnoten anker;
	private int  anz;
	
	public IntegerListe()
	{
		anker = new IntegerListeKnoten(0);
		anz = 0;
	}

	 public void pop()
	 {
		 anker.vorgaenger.vorgaenger.nachfolger = anker;
		 anker.vorgaenger = anker.vorgaenger.vorgaenger;
		 anz--;
		 
	 }
	 
 
	 public int top()
	 {
		 return anker.vorgaenger.wert;
	 }

	 public void push(int wert)
	 {
		 IntegerListeKnoten knoten    = new IntegerListeKnoten(wert);
		 knoten.nachfolger            = anker;
		 knoten.vorgaenger            = anker.vorgaenger;
		 knoten.vorgaenger.nachfolger = knoten;
		 anker.vorgaenger             = knoten;
		 anz++;
		 
	 }

	 public boolean empty()
	 {
		 return anz==0;
	 }
	
	
	

}
