#include #include #include #include #include #include "common.h" #include "structs.h" #include "dfs.h" #include "random_heuristic.h" #include "nem_ull.h" int main(int argc, char * argv[]){ struct data * data; struct front_item * front = NULL; if(argc!=4){ printf("Wrong number of arguments!\n"); printf("Example usage: %s algorithm sort_method data_file\n",argv[0]); return 0; } data = input(argv[3]); /* Seed Random Generator */ struct timeval tv; gettimeofday(&tv,NULL); srand(tv.tv_sec + tv.tv_usec); /* Sort data */ if(strcmp(argv[2], "random") == 0) { qsort(data->items, data->N, sizeof(struct item), cmp_items_random); } else if(strcmp(argv[2], "ratio") == 0) { qsort(data->items, data->N, sizeof(struct item), cmp_items_ratio); } clock_t t = clock(); /* Choose algorithm */ if(strcmp(argv[1], "nem_ull") == 0) { front = nem_ull(data); } else if(strcmp(argv[1], "dfs") == 0) { front = dfs(data); } else if(strcmp(argv[1], "random_heuristic") == 0) { front = random_heuristic(data); } t = clock() - t; printf("%f,%d\n",((float)t)/CLOCKS_PER_SEC,len_front(front)); print_front(front); free_front(front); free_data(data); return 0; }