Queue
Queue
- A queue is an abstract data type, like a stack.
- A collection of entities that are maintained in a sequence.
- First in First out (FIFO)
(Source: Data Structures & Algorithms in Java 2nd Edition)
Implements a Queue:
class Queue {
private int maxSize;
private long[] queArray;
private int front;
private int rear;
private int nItems;
// constructor
public Queue(int s) {
maxSize = s;
queArray = new long[maxSize];
front = 0;
rear = -1;
nItems = 0;
}
// put item at rear of queue
public void insert(long j) {
// deal with wraparound
if(rear == maxSize-1) {
rear = -1;
}
queArray[++rear] = j; // increment rear and insert
nItems++; // one more item
}
// take item from front of queue
public long remove() {
long temp = queArray[front++]; // get value and incr front
// deal with wraparound
if(front == maxSize) {
front = 0;
}
nItems--; // one less item
return temp;
}
// peek at front of queue
public long peekFront() {
return queArray[front];
}
// true if queue is empty
public boolean isEmpty() {
return (nItems==0);
}
// true if queue is full
public boolean isFull() {
return (nItems==maxSize);
}
// number of items in queue
public int size() {
return nItems;
}
}
留言
張貼留言