queue Implementation

Queue Implementation in java :
Standard library in java: java.util.queue:
methods in standard library

//to add element 
add() : return true if it success to add otherwise it throw exception.
offer(): return true if it success and false if it fail to add.

// retrieve and remove first element
remove(): throw exception NoSuchElementException if queue is  empty
poll(): return  null if queue is empty

//give to element but don't remove 
element(): throw exception NoSuchElementException if queue is  empty
peek(): return  null if queue is empty

Queue implementation using:
a) circular array
b) dynamic array
c) linked list

a)Circular array:
package queue;

public class Queue
{


int front;
int rear;
int capacity;
int[] array;

Queue(int size)
{
this.capacity = size;
this.rear = -1;
this.front = -1;
array = new int[capacity];
}
boolean isEmpty()
{
return (front == -1);
}
boolean isFull()
{
return ((rear + 1) % capacity == front);
}

int getQueueSize()
{
if (front == rear)
{
return 0;
}

return (capacity - front + rear + 1) % capacity;
}

boolean enQueue(int data)
{
if (this.isFull())
{
return false;
}

rear = (rear + 1) % capacity;
array[rear] = data;

if (front == -1)
{
front = rear;
}

return true;
}
int deQueue()
{
if (this.isEmpty())
{
return 0;
}

int data = array[front];

if (front == rear)
{
front = rear = -1;
}
else
{
front = (front + 1) % capacity;

}

return data;
}
public static void main(String [] arg)
{
Queue obj = new Queue(5);
System.out.println("Size of queue: " + obj.getQueueSize());
obj.enQueue(3);
obj.enQueue(4);
obj.enQueue(5);
obj.enQueue(6);
obj.enQueue(7);
obj.enQueue(8);
obj.enQueue(9);
obj.enQueue(10);
obj.enQueue(11);
obj.enQueue(12);
System.out.println("Size of queue: " + obj.getQueueSize());
System.out.println("data form queue: " + obj.deQueue());
System.out.println("data form queue: " + obj.deQueue());
System.out.println("data form queue: " + obj.deQueue());
System.out.println("data form queue: " + obj.deQueue());
System.out.println("data form queue: " + obj.deQueue());
System.out.println("data form queue: " + obj.deQueue());
System.out.println("data form queue: " + obj.deQueue());
System.out.println("data form queue: " + obj.deQueue());
}
}


Comments

Popular posts from this blog

Introduction to Java

Creational Design Pattern: Factory Design Pattern

Design Patterns: The Secret Weapon of Expert Developers