Exemple #1
0
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);
}
Exemple #2
0
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);
}
Exemple #3
0
void sort(int* const a,int n){
  stoogeSort(a,0,n);
}