All pastes #47336 Raw Edit

Miscellany

public text v1 · immutable
#47336 ·published 2006-03-28 20:59 UTC
rendered paste body
public class Queue {
    
    private QueueEl first;
    private QueueEl last;
    
    public void enqueue(Object obj) {
        QueueEl el = new QueueEl(obj);
        if(first == null) {
            first = el;
            last = first;
        } else {
            last.setNext(el);
            last = el;
        }
    }
    
    public QueueEl dequeue() {
        QueueEl tmp = first;
        first = first.getNext();
        return tmp;
    }
    
    public boolean empty() {
        return first == null;
    }

    public void print() {
        int i = 0;
        QueueEl tmp = first;
        while(tmp != null) {
            System.out.println("Element "+i+": "+ tmp.getObject()+" Referenz: "+tmp+" --> "+tmp.getNext());
            i++;
            tmp = tmp.getNext();
        }
        System.out.println("first: "+first);
        System.out.println("last: "+last);
    }
    
    public void invert() {
       QueueEl tmp1 = first, tmp2 = null;
       while(first != last) {
           tmp2 = first;
           first = tmp1.getNext();
           tmp1.setNext(first.getNext());
           first.setNext(tmp2);
       }
       last = tmp1;
    }
}

class QueueEl {
    private QueueEl next;
    private Object obj;
    
    QueueEl() {};
    
    QueueEl(Object obj) {
        this.obj = obj;
    }
    
    public void setNext(QueueEl n) {
        this.next = n;
    }
    
    public void setObject(Object o) {
        this.obj = o;
    }
    
    public QueueEl getNext() {
        return next;
    }
    
    public Object getObject() {
        return obj;
    }
}