Riktigt jobbig dag
Gårdagen var lite ansträngande! Idag hade jag ett pass i Problemlösningskursen som skulle handla om Divide & Conquer-algoritmer, bland annat skulle jag gå igenom sorteringsalgoritmen QuickSort. Den är lite komplicerad att förstå sig på, så jag satte mig ner för att hitta på en mer pedagogiskt korrekt variant av Quicksort. Det tog ett tag! Jag jobbade hela dan på skolan, kom hem klockan 19 och fortsatte. När klockan var 3 på natten var jag klar. Efter det var det bara att hoppa snabbt i säng för att gå upp till föreläsningen klockan 10.
Koden jag kom på till slut ser ut som följer:
[c]int delaUpp (int array[], int start, int stopp){
int pivotValue=array[start];
int pivot=start;
int x, temp;
for (x=start+1 ; x<=stopp ; x++)
if (array[x] < pivotValue){
temp = array[x];
array[x] = array[++pivot];
array[pivot] = temp;
}
array[start] = array[pivot];
array[pivot] = pivotValue;
return pivot;
}
void quicksort(int array[], int start, int stopp){
int pivot;
if (start < stopp){
pivot = delaUpp (array,start,stopp);
quicksort (array,start,pivot-1);
quicksort (array,pivot+1,stopp);
}
}
[/c]