#include #include #include int compare(const void* xin, const void* yin) { int x,y; x=(*((int*)xin)); y=(*((int*)yin)); return x-y; } double CPUtime() { struct rusage rusage; getrusage(RUSAGE_SELF,&rusage); return rusage.ru_utime.tv_sec+rusage.ru_utime.tv_usec/1000000.0 + rusage.ru_stime.tv_sec+rusage.ru_stime.tv_usec/1000000.0; } void duplicates_qsort(int seed,int n) { double startCPU; int *table,i,duplicates; table=(int*) malloc(n*sizeof(int)); if (table==NULL) { printf("choked in duplicates_qsort()\n"); exit(0); } srandom(seed); for (i=0;i