发信人: goldeagle()
整理人: yangcs(2000-03-11 21:08:50), 站内信件
|
刚才看精华区中有关于全排列算法的讨论,我把我在
算24程序中的排列算法整理了一下,在的我机器上运
行下面的程序(11个成员进行排列),用了7.14秒,用
老山羊的程序解决同样的问题,只用5.55秒,看样子
我要好好地学习一下山羊兄的程序。
不过我觉得我的程序也有优点:简洁,易懂
//#include <stdio.h>
void permutation(char a[], int m, int n) { // 排列算法
int i;
char t;
if (m<n-1) {
permutation(a, m+1, n);
for (i=m+1;i<n;i++) {
t=a[m]; a[m]=a[i]; a[i]=t;
permutation(a, m+1, n);
t=a[m]; a[m]=a[i]; a[i]=t;
}
} else {
// printf("%s\n", a); //屏蔽掉输出
}
}
int main() {
char a[]="ABCDEFGHIJK";
permutation(a, 0, 11);
return 0;
}
-- 行侠仗义吾本性,展翅翱翔天地间
请加入我创建的邮件列表“金鹰的程序员天地”:
(发一封空邮件到 [email protected],
再回复一封确认信就可以了)
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.182.36]
|
|