#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>

#define INPUT_SIZE	500000

int main(void)
{
	long int i, j;
	time_t *now;
	double inputs[INPUT_SIZE];
	double temp;
	struct timeval start_time, stop_time;
	double en, st;
	double microsec = 1000000.0;

        srand(getpid());
	for (i=0; i<INPUT_SIZE; i++)
                inputs[i]=rand()+(double) (((double) rand())/10000000000);

	gettimeofday(&start_time, (struct timezone *) 0);

	for(i=INPUT_SIZE; i>=0; i--)
	{
		for(j=0; j<i-1; j++)
			if(inputs[j] > inputs[j+1])
			{
				temp = inputs[j+1];
				inputs[j+1] = inputs[j];
				inputs[j] = temp;
			}
	}

	gettimeofday(&stop_time, (struct timezone *)0);

	st = start_time.tv_sec + (start_time.tv_usec/microsec);
        en = stop_time.tv_sec + (stop_time.tv_usec/microsec);
	printf("real time: %f\n", en-st);

	return 0;
}

