Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package egu.edu.alexu.csd.datastructure.queue.cs23;
- import eg.edu.alexu.csd.datastructure.queue.IArrayBased;
- import eg.edu.alexu.csd.datastructure.queue.IQueue;
- public class QueueArrayBased implements IQueue, IArrayBased {
- int N,f=0,r=0;
- public QueueArrayBased(int N) {
- this.N = N;
- }
- Object[] queueArray = new Object[N];
- int size = 0;
- @Override
- public void enqueue(Object item) {
- if(size==N)
- throw new RuntimeException();
- else {
- queueArray[r] = item;
- r++;
- if(r==N)
- r=0;
- size++;
- }
- }
- @Override
- public Object dequeue() {
- if(size==0)
- throw new RuntimeException();
- else {
- Object temp = queueArray[f];
- queueArray[f] = null;
- f++;
- if(f==N)
- f=0;
- size--;
- return temp;
- }
- }
- @Override
- public boolean isEmpty() {
- if(size==0)
- return true;
- else
- return false;
- }
- @Override
- public int size() {
- return size;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement