Cześć mam pytanie. Czy liczniki które mam w kodzie dobrze liczą ilość zamian i porównań?
int counter,changes;
void quicksortMW(int_array_type array, int low, int high)
{
if(low<high) {
int partition_index = partitionMW(array,low,high);
quicksortMW(array, low, partition_index);
quicksortMW(array, partition_index+1, high);
}
}
int partitionMW(int_array_type array, int low, int high)
{
int pivot = array[low];
int i = low-1, j = high+1;
while(i<j) {
while(array[--j]>pivot)
;
while(array[++i]<pivot)
;counter++;
if(i<j){
swap(&array[i],&array[j]);
changes++;
}
}
return j;
}