Den bortkommenterade koden fungerar(Om jag tar bort reallocraderna). Jag försöker dock dra ner på det jag allokerar och försöker köra realloc istället för malloc.
Det jag vill göra är alltså att dela upp en array i 2 nya arrayer beronde på pivot.
Det som händer när jag kör det här är att jag får en SIGABRT.
Kod:
splittedArray splitArrayInToParts(int pivot, int *arrayToSplit, int size) {
splittedArray newArray;
// newArray.smallerThanPivot = (int*) malloc (size * sizeof(int));
// newArray.greaterThanPivot = (int*) malloc (size * sizeof(int));
newArray.sizeOfsmallerThanPivot = 0;
newArray.sizeOfgreaterThanPivot = 0;
int i = 0, j = 0;
while(size != 0 ) {
int number = arrayToSplit[size-1];
if (number <= pivot) {
newArray.smallerThanPivot = (int*) realloc (newArray.smallerThanPivot, i+1 * sizeof(int));
newArray.smallerThanPivot[i] = number;
newArray.sizeOfsmallerThanPivot++;
i++;
} else {
newArray.greaterThanPivot = (int*) realloc (newArray.greaterThanPivot, j+1 * sizeof(int));
newArray.greaterThanPivot[j] = number;
newArray.sizeOfgreaterThanPivot++;
j++;
}
size--;
}
return newArray;
}