Question
For this assignment, you need to develop NumberQueue ADT (NumberQueue.java). We assume each number in the queue represent a person in the line waiting for
For this assignment, you need to develop NumberQueue ADT (NumberQueue.java). We assume each number in the queue represent a person in the line waiting for being served at your restaurant. Based on historical data, you found that on average, one customer arrives at your restaurant on every five minutes interval, and it takes 3 minutes to serve each customer. Write a tester program, named QueueSimulation.java, to simulate the queue for 8 hours, then print the longest queue size during the 8 hours operation. Did anyone leave your restaurant because the line if full? (assume the maximum capacity of the line is 10 people)
Use array and loop structure, each iteration represents 1 minute (8hrs = 480mins)
No hashmap please.
Enqueue to serve, Dequeue after 3 iterations
GIVEN__________________________-
public class NumberQueue{
private int[] data; private int front, rear, numberOfItems, capacity; public NumberQueue(int cap){ front=rear=numberOfItems=0; data=new int[cap]; capacity=cap; } public boolean isEmpty(){ return numberOfItems==0; } public boolean isFull(){ return numberOfItems==capacity; }
public int size(){ return numberOfItems; } public void enqueue(int val){ if(!isFull()){ data[rear]=val; rear= ++rear % capacity; numberOfItems++; }else{ System.out.println("it is full, find another restaurant!"); } } public int dequeue(){ if(!isEmpty()){ int val=data[front]; front = ++front % capacity; numberOfItems--; return val; }else{ return -1000; } } }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started