#include "bucket.h" #include "stdlib.h" #include "stdio.h" /* void MergeSort(Bucket *liste[], int groesse){ if(groesse > 1){ Bucket *haelfte1[groesse/2]; Bucket *haelfte2[(groesse + 1)/2]; int i; for(i = 0; i < groesse/2; ++i) haelfte1[i] = liste[i]; for(i = groesse/2; i < groesse; ++i) haelfte2[i - groesse/2] = liste[i]; MergeSort(haelfte1,groesse/2); MergeSort(haelfte2,(groesse + 1)/2); Bucket **pos1 = haelfte1; Bucket **pos2 = haelfte2; for(i = 0; i < groesse; ++i){ if((*pos1)->depth <= (*pos2)->depth){ liste[i] = *pos1; if (pos1 != &haelfte2[(groesse+1)/2 - 1]) { // pos1 nicht verändern, wenn der größte Wert mehrmals vorkommt if(pos1 == &haelfte1[groesse/2 - 1]){ pos1 = &haelfte2[(groesse+1)/2 - 1]; } else{ ++pos1; } } } else{ liste[i] = *pos2; if(pos2 == &haelfte2[(groesse + 1)/2 - 1]){ pos2 = &haelfte1[groesse/2 - 1]; } else{ ++pos2; } } } } int k = 0; for(k = 0; k < groesse; k++){ printf("%f\n", liste[k]->depth); } //exit(0); } */ void MergeSort(Bucket *liste[], int groesse){ }