2017-06-19 3 views
-1

Ich möchte das gleiche tun, was ich in diesem Code für Stack getan habe, wie kann ich es ändern, so dass es für die Warteschlange sein wird? Ich will nichtWie realisiert man eine Warteschlange in Java?

public StackAsArray(){ 
     this(new DynamicArray()); 
    } 
    public boolean isEmpty() { 

    } 
    public void push(Object o) { 

    } 
    public Object pop() { 

    } 
} 
+2

Durch Nachdenken über Ihre Hausaufgabe und versuchen. Anstatt etwas Code und Anforderungen zu verschwenden. – GhostCat

Antwort

1

für diesen Stapel oder LinkedList verwenden Sie müssen nur Ihre push und pop Methoden mit enqueue und dequeue Methoden ersetzen.

enqueue fügt Elemente am Ende des Arrays hinzu, während dequeue es von Anfang an entfernt.

public class QueueAsArray implements Queue { 
    ... 

    public void enqueue(Object o) { 
     arr.set(numOfElements, o); 
     numOfElements++; 
    } 

    public Object dequeue() { 
     if(isEmpty()) { // an empty check is a MUST 
      return null; 
     } 

     numOfElements = numOfElements - 1; 
     Object res = arr.get(0); 
     arr.set(0, null); // not 100% sure this works, but since this is a homework question, its upto you to figure out. The logic is to remove the 0th element. 
     return res; 
    } 
} 
Verwandte Themen