/*
  Travis Gadberry
  Patrick Hesser
  Chris Ladewig

  HashTable.h
  21Mar05
*/

#ifndef HASHTABLE_H
#define HASHTABLE_H

#include <time.h>
#include <iostream>
#include <vector>
#define EmptySlot -1
using namespace std;

class HashTable {
public:
  HashTable(int *, int);
  HashTable(vector<int>);
  
  int h(int, int) const;
  bool search(int);
  
  double getCreationTime() const;
  int getCreationIncrements() const;
  double getSearchTime() const;
  int getSearchIncrements() const;
  int getM() const;
  int * getTable();

  void setM(int);
  void setSearchTime(int);
  void setCreationTime(int);

private:
int * table;
int key;
double creationtime;
double searchtime;
int searchincrements;
int creationincrements;
int m;
};

#endif


