void stoogeSort(int* const a,int i,int j){ int temp = 0; int k = 0; if(*(a+i)>*(a+j)){ temp = *(a+i); *(a+i) = *(a+j); *(a+j) = temp; } if(i+1>=j){ return; } k = (j-i+1)/3; stoogeSort(a,i,j-k); stoogeSort(a,i+k,j); stoogeSort(a,i,j-k); }
void stoogeSort(int *a, int i, int j) { if(a[i] > a[j]) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } if(i + 1 >= j) return ; int k = (j - i + 1) / 3; stoogeSort(a, i, j - k); stoogeSort(a, i + k, j); stoogeSort(a, i, j - k); }
void sort(int* const a,int n){ stoogeSort(a,0,n); }