Write a class ArrayStack representing a array-based
stack that can grow to any size. Use your DynArray
implementation that we wrote last week. Implement this interface:
interface Stack {
void push(int i);
int pop();
bool isEmpty { get; }
}Write a class TwoStackQueue that implements a queue.
Implement this interface:
interface Queue {
void enqueue(int i);
int dequeue();
bool isEmpty { get; }
}
Your class should have a constructor that takes two stacks, i.e.
objects that implement the Stack interface above. It
should use those stacks to implement the queue.
Write a class that holds a linked list of integers. Implement this interface:
interface IntList {
void prepend(int i);
void append(int i);
void deleteNth(int n);
void insertAtNth(int n, int i);
void deleteAllOdd();
void deleteEveryOther(); // delete every other element, starting with the second
}Implement all methods recursively.