Stooge-sort排序

来源:互联网 发布:终极一班3 网络点击率 编辑:程序博客网 时间:2024/06/04 19:09
//此题是《算法导论》的课后题,p95.
// T(n) = 3T(2/3*n) +O(1)效率为指数级。




    #include 
"stdafx.h"
#include 
<iostream>
#include 
<algorithm>

bool Stooge_Sort(int A[], int i , int j)
{   
    
if(A[i] > A[j])
        std::swap(A[i], A[j]);
    
if(i+1 >= j)
        
return false;
    
int k = (j-i+1)/3;
    Stooge_Sort(A, i, j
-k);
    Stooge_Sort(A, i
+k, j);
    Stooge_Sort(A, i, j
-k);
}


       

int main(int argc, char* argv[])
{
    
int B[10= {33,4,5,6,7,8,33,2,54,3};
    Stooge_Sort(B, 
09);
    
for(int i = 0; i < 10; i++)
        std::cout
<<B[i]<<std::endl;
    
return 0;
}
 
原创粉丝点击