Department of Computer Science

Problem Solving and Algorithm Design I

Spring Semester 1998

Dr. Maury Eggen

Homework Laboratory Assignment 8

For the next assignment of the semester, we wish to try to tie together
several things we have been learning this semester.

We shall attempt to write a mini-database management system. We shall
attempt to write two programs which will maintain lists of names. You
are required to write two complete separate programs. 

The first program will maintain the list of names using an ordinary
unsorted array. You must give your program the ability to 

1. Add elements to the list
2. Remove elements from the list
3. Search the list to locate a particular name
4. Read list from file
5. Write list to file
6. Quit.

When each of these operations takes place, the underlying data structure
must remain intact. That is, if you start with an unsorted list, you should
have an unsorted list when the program completes.

The second program will maintain the list of names using an ordinary
sorted array. Again, you must give your program the ability to 

1. Add elements to the list
2. Remove elements from the list
3. Search the list to locate a particular name
4. Read list from file
5. Write list to file
6. Quit.

Again, when each of these operations takes place, the list must remain
sorted. 

Note that when you process an unsorted list, the algorithm used to search
the list must be a sequential search. When you search a sorted list, the
algorithm used to search the list must be a binary search. 

Remember that the due date for the first half of this is Wednesday, 
April 15, 1998

Standard handin requirements.