package edu.princeton.cs.algs4.ch21;
import edu.princeton.cs.algs4.ch14.Stopwatch;
import edu.princeton.cs.algs4.ch24.Heap;
import edu.princeton.cs.introcs.StdRandom;
/**
* Created by zqhxuyuan on 15-3-1.
*
* P161.zh.4E
*/
public class SortCompare {
public static double time(String alg, Double[] a){
Stopwatch timer = new Stopwatch();
if(alg.equals("Insertion")) Insertion.sort(a);
else if(alg.equals("Selection")) Selection.sort(a);
else if(alg.equals("Shell")) Shell.sort(a);
else if(alg.equals("Merge")) Merge.sort(a);
else if(alg.equals("Quick")) Quick.sort(a);
else if(alg.equals("Heap")) Heap.sort(a);
return timer.elapsedTime();
}
public static double timeRandomInput(String alg, int N, int T){
double total = 0.0;
Double[] a = new Double[N];
for (int t = 0; t < T; t++) {
for (int i = 0; i < N; i++) {
a[i] = StdRandom.uniform();
}
total += time(alg, a);
}
return total;
}
public static void main(String[] args) {
String alg1 = args[0];
String alg2 = args[1];
int N = Integer.parseInt(args[2]);
int T = Integer.parseInt(args[3]);
double t1 = timeRandomInput(alg1, N, T);
double t2 = timeRandomInput(alg2, N, T);
}
}