Universität Paderborn - Home Universität Paderborn
Die Universität der Informationsgesellschaft

Parallel Programming WS 2014/2015 - File Queue.java

import java.util.NoSuchElementException;


public class Queue {

    private int capacity;
    private int elemCount;
    private int firstIndex;
    private int[] elems;

    public Queue(int n) {
        capacity = n;
        elemCount = 0;
        firstIndex = 0;
        elems = new int[n];
    }
   
    public void enqueue(int elem) {
        if (elemCount == capacity) {
            throw new IllegalStateException();
        }
        int index = firstIndex + elemCount;

        if (index >= capacity) {
            index -= capacity;
        }
        elems[index] = elem;
        elemCount += 1;
    }
   
    public int dequeue() {
        if (elemCount == 0) {
            throw new IllegalStateException();
        }
	int res = elems[firstIndex];
        firstIndex += 1;
        if (firstIndex == capacity) {
            firstIndex = 0;
        }
        elemCount -= 1;
	return res;
    }
   
    public int getElementCount() {
        return elemCount;
    }

    public boolean isFull() {
        return elemCount == capacity;
    }
   
    public boolean isEmpty() {
        return elemCount == 0;
    }
}

Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 20.11.2014