Question
please do the class DequeueArrayOneAndHalf * Grow the dequeue by multiplying its size by 1.5 and rounding A new array is created, all the elements
please do the class DequeueArrayOneAndHalf
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Optional;
class NoSuchElementE extends Exception {}
public abstract class DequeueArray {
protected Optional[] elements;
protected int capacity, front, back, size;
//
// data stored in locations:
// front+1, front+2, ... back-2, back-1 (all mod capacity)
//
// common cases:
// front points to an empty location
// back points to an empty location
// adding to front decreases 'front' by 1
// adding to back increases 'back' by 1
// removing does the opposite
//
// |-------------------------|
// | 4 5 6 _ _ _ _ _ _ 1 2 3 |
// |-------------------------|
// /\ /\ /\
// back front capacity
//
@SuppressWarnings("unchecked")
DequeueArray(int initialCapacity) {
elements = (Optional[]) Array.newInstance(Optional.class, initialCapacity);
Arrays.fill(elements, Optional.empty());
capacity = initialCapacity;
front = capacity - 1;
back = 0;
size = 0;
}public void clear() {
elements = (Optional
Arrays.fill(elements, Optional.empty());
capacity = 1;
front = 0;
back = 0;
size = 0;
}class DequeueArrayOneAndHalf
DequeueArrayOneAndHalf (int initialCapacity) {
super(initialCapacity);
}
/**
* Grow the dequeue by multiplying its size by 1.5 and rounding
* A new array is created, all the elements in the old array
* are copied in the first half of the new array
*/
@SuppressWarnings("unchecked")
void grow() {
// TODO
}
}
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