11.10.2013 Aufrufe

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

ListStack<br />

import java.awt.*;<br />

import java.awt.event.*;<br />

class ListStack implements Stack{<br />

private Node head;<br />

private int size;<br />

public ListStack () { /* Konstruktor */<br />

head = null; size = 0;<br />

}<br />

public int size(){<br />

return size;<br />

}<br />

public boolean isEmpty() {<br />

return (size == 0);<br />

}<br />

public Object pop() throws StackException {<br />

Object elem;<br />

if (isEmpty())<br />

throw new StackException("Keller ist leer");<br />

elem = head.getElement();<br />

head = head.getNext(); size--;<br />

return elem;<br />

}<br />

public Object top() throws StackException {<br />

if (isEmpty())<br />

throw new StackException("Keller ist leer");<br />

return head.getElement();<br />

}<br />

public void push(Object element){<br />

Node n = new Node(element,head);<br />

head = n; size++;<br />

}<br />

}<br />

Queue implementiert mit linked list<br />

8.2. Verkettete Listen<br />

enqueue(object o): void<br />

hinten Element anfügen (Spezialfall leere Liste)<br />

dequeue(): object<br />

vorne Element entfernen<br />

aus Effizienzgründen zwei Zeiger verwalten: head <strong>und</strong> tail<br />

Enqueue mit einem Anker<br />

public void enqueue(Object element){<br />

Node n = new Node(element,null);<br />

Node x = head;<br />

if (isEmpty()){ head = n;}<br />

else<br />

{ while ( ! (x.getNext() == null) )<br />

157

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!