关于原理,可以参考我的另一篇文章:http://blog.csdn.net/bjq1016/article/details/8795666
L_total = 1024 ;
s=fix(sqrt(L_total/2)) ;
alpha = gen_alpha(L_total,s) ;
function alpha = gen_alpha(N,s)
% disp('genarate alpha============================')
% N=1024;%
loopMax = N/2;%利用冒泡算法最大循环次数,
%超过次数则重新产生随机序列
% s=fix( sqrt(N/2) ) ;
len =N ;
genTime=0;
while(len~=0)
len = N;%满足要求的序列长度
genTime = genTime+1 ;
loop = 0;%有些随机序列无法通过重组满足,限定一个上限
[~ ,a]=sort( rand( 1,N) ) ;
while (len ~= 0 &&loop <loopMax )
[len, out ] =mysort_new (N,s,a) ;
a = out ;
loop = loop +1;
end