

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#include "insertion_sort.h"
#include "merge_sort.h"


double time_test(int n);
double elapsed_time(time_t start_time, time_t end_time);



main() 
{
    int i;
    srandom(time(NULL));
    for (i = 50000; i < 100000; i += 1000) {
	time_test(i);
    }
    return 0;
}



double elapsed_time(time_t start_time, time_t end_time) {
    return (double) end_time - start_time;
}

double time_test(int n)
{
    int i;
    time_t start_time, end_time;
    double *x = (double *) malloc(n * sizeof(double));
    double *y = (double *) malloc(n * sizeof(double));
    for (i = 0; i < n; i++) { 
	y[i] = x[i] = 1.0 * random() / RAND_MAX; 
    }

    start_time = time(NULL);
    merge_sort(x, 0, n-1);
    end_time = time(NULL);
    printf("%d,%lf,", n, elapsed_time(start_time, end_time));

    start_time = time(NULL);
    insertion_sort(x, n);
    end_time = time(NULL);
    printf("%lf\n", elapsed_time(start_time, end_time));

    free(x);
    free(y);
    return;
}

