SlideShare a Scribd company logo
A generic queue is a general queue storage that can store an unlimited number of objects.
In this lab, you need to implement two types of the generic queue including Queue and Deque.
The Java code of this module includes a class that represent Queues and was mentioned briefly
during the lecture, therefore if you need to, please revisit the java code.
The second special type of containers is called a Deque. A deque is a special type of queue that is
double ended. It means that elements can be added to the queue at both ends and removing can
be from both ends. In essence, a deque follows both a FIFO (First in, First out) and a LIFO (Last
In, First Out) rules to insert/remove from/to the queue. This means that a deque can play the role
of a queue and a stack at the same time. You can imagine a stack as a plate dispenser. When you
add a plate, you add it to the top of the dispenser. When you remove a plate, you remove it from
the top again. However, for a queue, you can imagine a queue of students waiting in line. The first
student who comes into the line is the first student served and hence removed from the line.
For the stack behavior of a deque, there are two main and two auxiliary methods:
push(object): This method adds the object to the stack. IN other words, the object is added at the
front.
pop(): removes the last element that was added, from the stack. In other words, the object is
removed from the front.
top(): returns the element, which is at the top of the stack, without removing it.
getSize(): returns the number of elements in the stack.
Your job for this lab, is to complete GenericQueue, Queue and Deque class. I have written a
comment, where you need to insert your code.
3.1. Class GenericQueue
The names of the methods in this class explain themselves. If you need more clarification, please
read the javaDoc for these methods.
3.2. Class Queue
While Queue Is-A generic queue, it follows the rule of Queue data structure (FIFO), therefore all
the methods should be implemented in a way that the rule is followed.
This class has an instance variable that holds all the items. The rest of the methods are self-
explanatory.
3.3. Class Deque
The Deque class is a special type of a Queue that was explained above. So the deque acts as a
queue and has additional methods that represent the stack behaviour.
This class has a constructor that uses the list that contains the data. To implement the rest of the
methods see their javaDoc.
import java.util.*;
import java.io.*;
/**
* This class is a GenericQueue that holds an unlimited number of
* objects. It is able to remove objects and add objects.
*/
public class GenericQueue {
// No instance variable should be defined for this class.
/**
* This method adds the <code> obj </code> to the GenericQueue.
* @param obj is the object that is added to the GenericQueue.
*/
void add(Object object) {
// insert your code here
}
/**
* This method removes the object from the GenericQueue
* @return returns the removed object.
*/
Object remove() {
// insert your code here. You may want to change the return value.
return null;
}
/**
* @return It returns the number of elements in the GenericQueue.
*/
int getSize() {
// insert your code here. You may need to change the return value.
return 0;
}
}
/**
*
* This class simulates a Queue, which is a data structure that insert and remove data
* by FIFO (first-in, first-out) rule
*
*/
class Queue extends GenericQueue{
ArrayList<Object> queue;
/**
* This is the constructor that initializes the <code> queue </code>
*/
public Queue() {
}
/**
* This method adds the object into the Queue.
* Please note that the rule of the queue insertion/removal is
* First in, First out.
* @param obj is the object that is added to the queue.
*/
@Override
public void add(Object obj) {
}
/**
* This method removes an object from the Queue.
* Please note that the rule of the queue insertion/removal is
* First in, First out.
*/
@Override
public Object remove() {
return null;
}
/**
* @return returns the object which is in front of the queue.
*/
public Object top() {
return null;
}
/**
* Returns the number of items in the queue.
*/
@Override
public int getSize(){
return 0;
}
}
/**
*
* This class simulates a Deque, which is a data structure that insert and remove data
* by FILO (first-in, last-out) rule
*
*/
class Deque extends Queue{
/**
* This is the constructor that initializes the <code> deque </code>
*/
public Deque() {
}
/**
* This method adds an object to the deque treated as a stack.
* Please note that the rule of the deque insertion/removal is
* both First in, first out (FIFO), as well as Last in, First out (LIFO)
*/
public void push(Object obj) {
}
/**
* This method removes an object from the deque treated as a stack.
* Please note that the rule of the deque insertion/removal is
* both First in, first out (FIFO), as well as Last in, First out (LIFO)
*/
public Object pop() {
return null;
}
}
import java.util.*;
import java.io.*;
/**
* This class is a GenericQueue that holds an unlimited number of
* objects. It is able to remove objects and add objects.
*/
public class GenericQueue {
// No instance variable should be defined for this class.
/**
* This method adds the <code> obj </code> to the GenericQueue.
* @param obj is the object that is added to the GenericQueue.
*/
void add(Object object) {
// insert your code here
}
/**
* This method removes the object from the GenericQueue
* @return returns the removed object.
*/
Object remove() {
// insert your code here. You may want to change the return value.
return null;
}
/**
* @return It returns the number of elements in the GenericQueue.
*/
int getSize() {
// insert your code here. You may need to change the return value.
return 0;
}
}
/**
*
* This class simulates a Queue, which is a data structure that insert and remove data
* by FIFO (first-in, first-out) rule
*
*/
class Queue extends GenericQueue{
ArrayList<Object> queue;
/**
* This is the constructor that initializes the <code> queue </code>
*/
public Queue() {
}
/**
* This method adds the object into the Queue.
* Please note that the rule of the queue insertion/removal is
* First in, First out.
* @param obj is the object that is added to the queue.
*/
@Override
public void add(Object obj) {
}
/**
* This method removes an object from the Queue.
* Please note that the rule of the queue insertion/removal is
* First in, First out.
*/
@Override
public Object remove() {
return null;
}
/**
* @return returns the object which is in front of the queue.
*/
public Object top() {
return null;
}
/**
* Returns the number of items in the queue.
*/
@Override
public int getSize(){
return 0;
}
}
/**
*
* This class simulates a Deque, which is a data structure that insert and remove data
* by FILO (first-in, last-out) rule
*
*/
class Deque extends Queue{
/**
* This is the constructor that initializes the <code> deque </code>
*/
public Deque() {
}
/**
* This method adds an object to the deque treated as a stack.
* Please note that the rule of the deque insertion/removal is
* both First in, first out (FIFO), as well as Last in, First out (LIFO)
*/
public void push(Object obj) {
}
/**
* This method removes an object from the deque treated as a stack.
* Please note that the rule of the deque insertion/removal is
* both First in, first out (FIFO), as well as Last in, First out (LIFO)
*/
public Object pop() {
return null;
}
}

More Related Content

DOCX
EmptyCollectionException-java -- - Represents the situation in which.docx
DOCX
(674335607) cs2309 java-lab-manual
PDF
This file contains a complete array-based MultiSet, but not the code.pdf
PDF
this file has a complete array-based MultiSet, but not the code need.pdf
PDF
Introduction and BackgroundIn recent lectures we discussed usi.pdf
PPTX
More topics on Java
PPT
Queue Data Structure
PPT
Queue Data Structure
EmptyCollectionException-java -- - Represents the situation in which.docx
(674335607) cs2309 java-lab-manual
This file contains a complete array-based MultiSet, but not the code.pdf
this file has a complete array-based MultiSet, but not the code need.pdf
Introduction and BackgroundIn recent lectures we discussed usi.pdf
More topics on Java
Queue Data Structure
Queue Data Structure

Similar to A generic queue is a general queue storage that can store an.pdf (20)

PDF
we using java code DynamicArrayjava Replace all .pdf
PDF
JAVAneed help with public IteratorItem iterator()import java.u.pdf
PDF
A linked stack is implemented using a standard Node class as follows.pdf
PPTX
Data Structure Stack operation in python
PPTX
UNIT-2.pptx CS3391 Inheritance , types, packages and Interfaces
PDF
Java Programming - 04 object oriented in java
PPTX
Python for Beginners
PDF
please read below it will tell you what we are using L.pdf
PPTX
UNIT_-II_2021R.pptx
PPT
Stack Implementation
PDF
Please do parts labeled TODO LinkedList.java Replace.pdf
PPT
Java Concepts
PDF
please read the steps below and it will tell you what we usi.pdf
PPT
Core java
PPT
2 b queues
PPTX
Classes, Objects and Method - Object Oriented Programming with Java
PPT
List in java
PDF
How do I fix it in LinkedList.javathis is what i didLabProgra.pdf
PPT
Best Core Java Training In Bangalore
PPTX
702641313-CS3391-OBJORIENTEDPS-Unit-2.pptx
we using java code DynamicArrayjava Replace all .pdf
JAVAneed help with public IteratorItem iterator()import java.u.pdf
A linked stack is implemented using a standard Node class as follows.pdf
Data Structure Stack operation in python
UNIT-2.pptx CS3391 Inheritance , types, packages and Interfaces
Java Programming - 04 object oriented in java
Python for Beginners
please read below it will tell you what we are using L.pdf
UNIT_-II_2021R.pptx
Stack Implementation
Please do parts labeled TODO LinkedList.java Replace.pdf
Java Concepts
please read the steps below and it will tell you what we usi.pdf
Core java
2 b queues
Classes, Objects and Method - Object Oriented Programming with Java
List in java
How do I fix it in LinkedList.javathis is what i didLabProgra.pdf
Best Core Java Training In Bangalore
702641313-CS3391-OBJORIENTEDPS-Unit-2.pptx
Ad

More from ADITIHERBAL (20)

PDF
A ince barsakta ya emlsifikasyon sreci B dklamay dzenl.pdf
PDF
A is a nonempty set and G is a finite group that can be see.pdf
PDF
a In a punctuated module new species change most as they .pdf
PDF
A Imagine you are a communication consultant giving advice .pdf
PDF
A group of college DJs surveyed students to find out what mu.pdf
PDF
A health system has forecast net patient revenue in the firs.pdf
PDF
A gene which is 1440 bp long codes for polypeptide that is 1.pdf
PDF
a Identificar y discutir los factores bsicos de comunicaci.pdf
PDF
A Health Behaviour in Schoolaged Children study found that .pdf
PDF
a Identify all NE throughout 3 you are only required to p.pdf
PDF
A hoverboard is a levitating board similar in shape and size.pdf
PDF
A hospital is trying to cut down on emergency room wait time.pdf
PDF
A healthy female Labrador retriever was mated with two healt.pdf
PDF
A hypertonic solution is prepared by the addition of sucrose.pdf
PDF
A group of n people were removed from the hotel After a mon.pdf
PDF
A group of employees of Unique Services will be surveyed abo.pdf
PDF
A Genler aras sekanslar insan genomunun gt60n oluturur.pdf
PDF
a Given that XX1X2Xn represents a random sample of .pdf
PDF
A genetic disorder shows cytoplasmic inheritance A heteropl.pdf
PDF
A formal often temporary partnership involving two or more.pdf
A ince barsakta ya emlsifikasyon sreci B dklamay dzenl.pdf
A is a nonempty set and G is a finite group that can be see.pdf
a In a punctuated module new species change most as they .pdf
A Imagine you are a communication consultant giving advice .pdf
A group of college DJs surveyed students to find out what mu.pdf
A health system has forecast net patient revenue in the firs.pdf
A gene which is 1440 bp long codes for polypeptide that is 1.pdf
a Identificar y discutir los factores bsicos de comunicaci.pdf
A Health Behaviour in Schoolaged Children study found that .pdf
a Identify all NE throughout 3 you are only required to p.pdf
A hoverboard is a levitating board similar in shape and size.pdf
A hospital is trying to cut down on emergency room wait time.pdf
A healthy female Labrador retriever was mated with two healt.pdf
A hypertonic solution is prepared by the addition of sucrose.pdf
A group of n people were removed from the hotel After a mon.pdf
A group of employees of Unique Services will be surveyed abo.pdf
A Genler aras sekanslar insan genomunun gt60n oluturur.pdf
a Given that XX1X2Xn represents a random sample of .pdf
A genetic disorder shows cytoplasmic inheritance A heteropl.pdf
A formal often temporary partnership involving two or more.pdf
Ad

Recently uploaded (20)

PDF
A systematic review of self-coping strategies used by university students to ...
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
master seminar digital applications in india
PPTX
Presentation on HIE in infants and its manifestations
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Cell Structure & Organelles in detailed.
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Lesson notes of climatology university.
A systematic review of self-coping strategies used by university students to ...
O7-L3 Supply Chain Operations - ICLT Program
Chinmaya Tiranga quiz Grand Finale.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
master seminar digital applications in india
Presentation on HIE in infants and its manifestations
Final Presentation General Medicine 03-08-2024.pptx
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
202450812 BayCHI UCSC-SV 20250812 v17.pptx
102 student loan defaulters named and shamed – Is someone you know on the list?
Cell Structure & Organelles in detailed.
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Cell Types and Its function , kingdom of life
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Anesthesia in Laparoscopic Surgery in India
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Lesson notes of climatology university.

A generic queue is a general queue storage that can store an.pdf

  • 1. A generic queue is a general queue storage that can store an unlimited number of objects. In this lab, you need to implement two types of the generic queue including Queue and Deque. The Java code of this module includes a class that represent Queues and was mentioned briefly during the lecture, therefore if you need to, please revisit the java code. The second special type of containers is called a Deque. A deque is a special type of queue that is double ended. It means that elements can be added to the queue at both ends and removing can be from both ends. In essence, a deque follows both a FIFO (First in, First out) and a LIFO (Last In, First Out) rules to insert/remove from/to the queue. This means that a deque can play the role of a queue and a stack at the same time. You can imagine a stack as a plate dispenser. When you add a plate, you add it to the top of the dispenser. When you remove a plate, you remove it from the top again. However, for a queue, you can imagine a queue of students waiting in line. The first student who comes into the line is the first student served and hence removed from the line. For the stack behavior of a deque, there are two main and two auxiliary methods: push(object): This method adds the object to the stack. IN other words, the object is added at the front. pop(): removes the last element that was added, from the stack. In other words, the object is removed from the front. top(): returns the element, which is at the top of the stack, without removing it. getSize(): returns the number of elements in the stack. Your job for this lab, is to complete GenericQueue, Queue and Deque class. I have written a comment, where you need to insert your code. 3.1. Class GenericQueue The names of the methods in this class explain themselves. If you need more clarification, please read the javaDoc for these methods. 3.2. Class Queue While Queue Is-A generic queue, it follows the rule of Queue data structure (FIFO), therefore all the methods should be implemented in a way that the rule is followed. This class has an instance variable that holds all the items. The rest of the methods are self- explanatory. 3.3. Class Deque The Deque class is a special type of a Queue that was explained above. So the deque acts as a queue and has additional methods that represent the stack behaviour. This class has a constructor that uses the list that contains the data. To implement the rest of the methods see their javaDoc. import java.util.*; import java.io.*; /** * This class is a GenericQueue that holds an unlimited number of * objects. It is able to remove objects and add objects. */ public class GenericQueue { // No instance variable should be defined for this class.
  • 2. /** * This method adds the <code> obj </code> to the GenericQueue. * @param obj is the object that is added to the GenericQueue. */ void add(Object object) { // insert your code here } /** * This method removes the object from the GenericQueue * @return returns the removed object. */ Object remove() { // insert your code here. You may want to change the return value. return null; } /** * @return It returns the number of elements in the GenericQueue. */ int getSize() { // insert your code here. You may need to change the return value. return 0; } } /** * * This class simulates a Queue, which is a data structure that insert and remove data * by FIFO (first-in, first-out) rule * */ class Queue extends GenericQueue{ ArrayList<Object> queue; /** * This is the constructor that initializes the <code> queue </code> */ public Queue() { } /** * This method adds the object into the Queue.
  • 3. * Please note that the rule of the queue insertion/removal is * First in, First out. * @param obj is the object that is added to the queue. */ @Override public void add(Object obj) { } /** * This method removes an object from the Queue. * Please note that the rule of the queue insertion/removal is * First in, First out. */ @Override public Object remove() { return null; } /** * @return returns the object which is in front of the queue. */ public Object top() { return null; } /** * Returns the number of items in the queue. */ @Override public int getSize(){ return 0; } } /** * * This class simulates a Deque, which is a data structure that insert and remove data * by FILO (first-in, last-out) rule * */ class Deque extends Queue{ /** * This is the constructor that initializes the <code> deque </code>
  • 4. */ public Deque() { } /** * This method adds an object to the deque treated as a stack. * Please note that the rule of the deque insertion/removal is * both First in, first out (FIFO), as well as Last in, First out (LIFO) */ public void push(Object obj) { } /** * This method removes an object from the deque treated as a stack. * Please note that the rule of the deque insertion/removal is * both First in, first out (FIFO), as well as Last in, First out (LIFO) */ public Object pop() { return null; } } import java.util.*; import java.io.*; /** * This class is a GenericQueue that holds an unlimited number of * objects. It is able to remove objects and add objects. */ public class GenericQueue { // No instance variable should be defined for this class. /** * This method adds the <code> obj </code> to the GenericQueue. * @param obj is the object that is added to the GenericQueue. */ void add(Object object) { // insert your code here } /** * This method removes the object from the GenericQueue
  • 5. * @return returns the removed object. */ Object remove() { // insert your code here. You may want to change the return value. return null; } /** * @return It returns the number of elements in the GenericQueue. */ int getSize() { // insert your code here. You may need to change the return value. return 0; } } /** * * This class simulates a Queue, which is a data structure that insert and remove data * by FIFO (first-in, first-out) rule * */ class Queue extends GenericQueue{ ArrayList<Object> queue; /** * This is the constructor that initializes the <code> queue </code> */ public Queue() { } /** * This method adds the object into the Queue. * Please note that the rule of the queue insertion/removal is * First in, First out. * @param obj is the object that is added to the queue. */ @Override public void add(Object obj) { } /** * This method removes an object from the Queue.
  • 6. * Please note that the rule of the queue insertion/removal is * First in, First out. */ @Override public Object remove() { return null; } /** * @return returns the object which is in front of the queue. */ public Object top() { return null; } /** * Returns the number of items in the queue. */ @Override public int getSize(){ return 0; } } /** * * This class simulates a Deque, which is a data structure that insert and remove data * by FILO (first-in, last-out) rule * */ class Deque extends Queue{ /** * This is the constructor that initializes the <code> deque </code> */ public Deque() { } /** * This method adds an object to the deque treated as a stack. * Please note that the rule of the deque insertion/removal is * both First in, first out (FIFO), as well as Last in, First out (LIFO) */
  • 7. public void push(Object obj) { } /** * This method removes an object from the deque treated as a stack. * Please note that the rule of the deque insertion/removal is * both First in, first out (FIFO), as well as Last in, First out (LIFO) */ public Object pop() { return null; } }