设为首页 加入收藏

TOP

排序组合,AS实现穷举算法
2014-11-24 00:11:54 来源: 作者: 【 】 浏览:16
Tags:排序 组合 实现 算法

原理如图:

\

算法如下:

private function compoud(N:uint, C:uint):void

{

var pickIndex:int = 0;

var X:int=1;

var Y:int=1;

var P:int=1;

var i:int=0;

var arr:Array = new Array();

var src:Array = new Array();

for(i=0;i

{

src.push(i+1);

}

while(true)

{

if(pickIndex

{

arr.push(src[pickIndex++]);

if(arr.length==C)

{

var tmp:String = "";

for(i=0;i

{

tmp +=arr[i]+ " ";

}

trace(tmp);

if(pickIndex==N)

{

var backto:int =-1;

for(i=C-1;i>0;i--)

{

if(arr[i]-arr[i-1]>1)

{

backto = i-1;

break;

}

}

if(backto==-1)

{

break;

}

pickIndex = arr[backto];

for(i=0;i

{

arr.pop();

}

}

else

{

arr.pop();

}

}

}

else

{

break;

}

}

}

摘自 aerror的专栏

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇分享纯C语言英汉字典源码 下一篇模板化继承、泛型继承、Veneers的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: