Array Stack and Queue

For this first assignment, you will be writing array-based stacks and queues. I will send you an email with the link to the GitHub Classroom assignment that will create your starter repository. The starter repository will have interfaces for the Stack and Queue. You will need to implement ArrayStack and ArrayQueue that implement those interfaces.

I then want you to implement the breadth-first and depth-first searches in the GraphSearch class.

Note that you can't do new E[10]. Instead, do something like the following:

@SuppressWarnings("unchecked") private E[] data = (E[]) new Object[10];

Test Rubric:

Put your unit test in the test folder. I have written one test for each of the different functions to start you off. This rubric is minimal testing. You should write sufficient tests so that you feel confident about your implementations.

Basic tests of all methods (6 points)

Large tests (1000+ items) (3 points)

Tests with multiple types, including non-primitives (3 points)

One test of each of the three search methods (8 points)