/*
Authors:Travis Gadberry
	Patrick Hesser
	Chris Ladewig
Date:	18 Feb 05
Updated:18 Feb 05
File:	HeapSort.h
*/

#include <time.h>
#include <cstdlib>

class HeapSort {
  public:
    HeapSort();
    HeapSort(int *, int);
    ~HeapSort();

    int * getArray();
    int getN();
    bool getSorted();
    double getTime();
    int getIncrements();

    void setArray(int *);

    void sort();

  private:
    void setN(int);
    void setSorted(bool);
    void resetTime();
    void resetIncrements();

    void build_heap(int *, int);
    void heapify(int *, int, int);

    int * A;
    int n;
    bool sorted;
    double time;
    int increments;
};


