Program testujący

To program do testowania i pomiaru prędkości algorytmów sortujących.

test2.cc
#include <iostream.h>
#include <iomanip.h>
#include "ok.cc"
#include "wypisz.cc"
#include "insertion_sort.cc"
#include "quick_sort.cc"
#include "mixed_sort.cc"
#include "heap_sort.cc"
#include "fill2.cc"
#include "forki.cc"
#include "stoper.cc"

const int N = 800000; 
double t[N];

#include "merge_sort.cc"
#include "mergeins_sort.cc"

struct sort_proc
{
  void (*sort) (int n, double t[]);
  char *name;
};

sort_proc f[] = {
  {quick_sort,     "Quick     "},
  {mixed_sort,     "Quick-mix "},
  {merge_sort,     "Merge     "},
  {mergeins_sort,  "Merge-mix "},
  {heap_sort,      "Heap      "},
  {insertion_sort, "Insertion "}
};


main ()
{
  fill2(N,t);
//  cout<< inv(N,t)<<'/'<<N <<endl;
  for(int n=2;n<N;n*=2)
  {cout<< "n="<<n<<endl;
  for (int i=0;i<5;i++)
  {
  fill2 (n, t);  // wypełnij tabelę  

  double czas=stoper();   // spójrz na zegarek
  f[i].sort(n, t);    // posortuj
  czas=stoper()-czas;     // zobacz ile czasu upłynęło
  
  
  if (ok (n, t))   // sprawdź czy dobrze posortowane
    cout << f[i].name <<": "<<setprecision(3)<<czas <<endl;
  else
    cout << f[i].name << ": ERROR." << endl;
  }    
  cout<<endl;
  }
}