merge.c |
| #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <time.h> extern void merge_proc(int *newa, int *a, int n); int rand(void); #define length 10000 void *str_malloc(size_t s){ void *result = malloc(s); if(NULL == result){ fprintf(stderr, "Memory allocation failed\n"); exit(EXIT_FAILURE); } return result; } main(int argc, char **argv){ clock_t t1, t2; int *a; int *newa; int i=0; a = str_malloc(length * sizeof i); newa = str_malloc(length * sizeof i); while(1 == scanf("%d", &a[i]) && i < length){ i++; } t1= clock(); merge_sort(newa,a,i-1); t2= clock(); fprintf(stderr,"%d\t%f\n",i,(t2-t1)/(double)CLOCKS_PER_SEC); /* for(i=0; i<length; i++){ */ /* printf("%d\n",a[i]); */ /* } */ return EXIT_SUCCESS; } int rand(){ static int rand_seed=10; rand_seed = rand_seed *1103515245+12345; return (unsigned int)(rand_seed / 65536) % 100; } |
James Little |