#include <stdio.h>
#include <time.h>
#define MAX 5000



/*Unser Array zum sortieren*/
int test_array[MAX];

void init_test_array()
{
 int i,j;
 for(i=MAX,j=0; i>=0; i--,j++){
   test_array[j]=i;
   }
}


void quicksort(int array[], int links, int rechts)
{
 int v,i,j,temp;

 if(rechts > links)
  {
   v=array[rechts];
   i=links-1;
  j =rechts;
  for(;;)
   {
     while(array[++i] < v);
     while(array[--j] > v);
     if(i >= j)
       break;
     temp=array[i];
     array[i]=array[j];
     array[j]=temp;
   }
  temp=array[i];
  array[i]=array[rechts];
  array[rechts]=temp;
  quicksort(array, 1, i-1);
  quicksort(array, i+1, rechts);
  }
}



int main()
{
 int i;
 float zeit;
 clock_t start, ende;

  /*Quicksort Laufzeittest*/
    init_test_array();
    start = clock();
    quicksort(test_array, 1, MAX-1);
    ende = clock();
    /*Ergebniss der Laufzeitmessung in Sekunden*/
    zeit = (float)(ende-start) / (float)CLOCKS_PER_SEC;
    printf("Die Laufzeitmessung mit Quicksort ergab %.2f Sekunden\n",zeit);

 return 0;
}