quick1.h:Header file for this version of the quicksort function. You don't have to write much of this file. Just copy our version from
quick1.hand add your name and other information at the top. NOTE: This header file contains only one prototype (for the quicksort function) and its documentation. It does not have any class declarations.
quick1.cxx:This file should contain the implementations of the simple quicksort function that is described in the header file.
makefile:This is a makefile for the assignment. The file should contain targets for qtest1.o, qexam1.o, qtest1 (an executable file) and qexam1 (another executable file). The source codes qtest1.cxx and qexam1.cxx are available in the locations listed below. Your makefile should also include "all" and "clean" options. Include your name in a comment at the top.
qtest1.cxx:A simple interactive test program.
qexam1.cxx:A non-interactive test program that will be used to grade the correctness of your quicksort function.
There may be several functions in your quick1.cxx (such as the partition function). But quick1.h must only have ONE prototype (the prototype for the quicksort function). Any other functions that are in quick1.cxx should be declared with "internal linking". This hides the function name from the linker, and is accomplished by placing the word static before the function prototype and before the function definition. For example: static void partition(int data[ ], size_t n, size_t& pivot_index)...
The grading program will run at least these tests:
Write the a precondition/postcondition contract for each function that you implement (such as partition). Put these contracts in your .cxx file.