How it works
============
The program contains two interfaces MySet<E> and MyIntSet,
implementing a method member(int e) that searches a "set" for a given
member, returning true if it exists and false otherwise. These
interfaces are implemented in MySortedArray<E> and MySortedIntArray,
respectively. These classes also implement a method add(int e) that
adds one element to the "set".

The sets are implemented using arrays, and are expanded when add() is
called and the array is full.

The main program files, Lab1A and Lab1B, simply read numbers from a
file, feed them into the "set", and searches the set for a number.

MySortedArray contains a default Comparator which tries to compare two
objects as strings, calling the toString() method. Lab1B contains a
Comparator that compares two Integer objects.

How it was tested
=================
The program was tested using a file with a list of integers, and was
told to find integers that existed, integers that didn't exist but
were "in the range" as well as integers completely "out" of range.

See numbers.txt for the list of integers used. The integers tested for
were 11, 14, 100, 101, 0 and 13.

Time complexity
===============
Binary search has a time complexity of O(logn), since it divides the
interval in half every iteration. The add() method has a time
complexity of O(n), doubling the size of the array whenever needed.