#include "unit2.h"
unsigned int divide(unsigned int *feld,unsigned int start, unsigned int ende){
unsigned int links=start,rechts=ende-1,pivot=feld[ende];
do{
while(feld[links]<=pivot && links<ende)links++;
while(feld[rechts]>pivot && rechts>start)rechts--;
if(links<rechts)tausche(feld,links,rechts);
}while(links<rechts);
tausche(feld,links,ende);
return links;
}
int quicksort(unsigned int *feld,unsigned int start, unsigned int ende){
unsigned int links=start,rechts=ende;
unsigned int border;
if(links<rechts){
border= divide(feld,links,rechts);
quicksort(feld,start,border-1);
quicksort(feld,border+1,ende);
}
return 0;
}
int main(){
unsigned int laenge;
unsigned int *feld;
for(int i=1;i<=5;i++){
start(i,laenge,feld);
quicksort(feld,0,laenge-1);
ergebnis(feld);
}
return 0;
}