Queue Implementation using array

 //Queue implementation using array and generics

interface QueueADT<E>

{

void enqueue(E data);

E dequeue();

E peek();

int size();

boolean isEmpty();

void traverse();

}

class Book

{

private String name;

private double price;

public Book()//type number order

{

name="null";

price=0;

}

public Book(String name, double price)

{

this.name=name;

this.price=price;

}

public void setName(String name)

{

this.name=name;

}

public String getName()

{

return name;

}

public void setPrice(double price)

{

this.price=price;

}

public double getPrice()

{

return price;

}

public String toString()

{

return "Book{"+"Name="+"  "+name+"  "+"Price= "+"  "+price+"}\n";

}

}

class QueueUsingArr

{

public static void main(String args[])

{

    Book[] arr=new Book[5];

QueueImp<Book> queue=new QueueImp<>(arr);

Book b1=new Book("Java",100);

Book b2=new Book("DSA",200);

//Book b3=new Book("DBMS",300);

//Book b4=new Book("Web",400);

//Book b5=new Book("Tech",400);

//Book b6=new Book("Tech",400);

queue.enqueue(b1);

queue.enqueue(b2);

//queue.enqueue(b3);

//queue.enqueue(b4);

//queue.enqueue(b5);

//queue.enqueue(b6);

queue.traverse();

        System.out.println("\nQueue after deleting 1 element ");

queue.dequeue();

queue.traverse();

System.out.println("\nQueue first element:"+queue.peek());

}

}

class QueueImp<E> implements QueueADT<E>

{

private int front;

private int rear;

private int size;

private E[] arr;

public QueueImp(E[] arr)

{

front=0;

rear=0;

size=0;

this.arr=arr;

}

public void enqueue(E data)

{

if(size!=arr.length)

{

arr[rear]=data;

rear++;

size++;

}

else

{

System.out.println("Queue Overflow");

}


}

public E dequeue()

{

E response=null;

if(!isEmpty())

{

response=arr[front];

front++;

size--;

}

else

{

System.out.println("Queue Underflow");


}

return response;

}

public boolean isEmpty()

{

return size==0;


}

public E peek()

{

E response=null;

if(!isEmpty())

{


response=arr[front];


}

return response;


}

public int size()

{

return size;

}

public void traverse()

{

//System.out.print("front"+" "+"<----" );

for(int i=front; i<rear; i++)

{

System.out.print(" "+arr[i]);

}

// System.out.print("<----"+"rear");

}

}



Post a Comment

0 Comments