/*
  Travis Gadberry
  Patrick Hesser
  Chris Ladewig

  LinearSearch.cpp
  21Mar05
*/


#include "LinearSearch.h"

using namespace std;

LinearSearch::
LinearSearch() {
	n = 1;
	A = new int[n];
	A[0] = 0;
	increments = 0;
	time = 0;
}

LinearSearch::
LinearSearch(int * array, int N) {
	n = N;
	A = new int[n];
	for(int i = 0; i < n; i++)
		A[i] = array[i];
	increments = 0;
	time = 0;
}

LinearSearch::
LinearSearch(vector<int> V) {
  n = V.size();
  A = new int[n];
  for(int i=0; i<n; i++)
    A[i] = V.at(i);
  increments = 0;
  time = 0;
}

LinearSearch::
~LinearSearch() {
	delete(A);
}

bool 
LinearSearch::
search(int key) {
  time_t t1, t2;
  t1 = clock();

  bool found = false;

  for(int i=0; i<n && !found; i++)
    if(increments++, key==A[i])
		found = true;


  t2 = clock();
  time = (t2 - t1)/CLOCKS_PER_SEC;
  return found;
}


int
LinearSearch::
getSearchIncrements() {
  return increments;
}


double
LinearSearch::
getSearchTime() {
	return time;
}
