会员
周边
捐助
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Derek_nr
博客园
首页
新随笔
联系
管理
订阅
排列组合的排序问题
排列组合的排序问题
全排列的递归算法:
Code
template
<
class
Type
>
inline
void
Swap(Type
&
a,Type
&
b)
{
Type temp
=
a;
a
=
b;
b
=
temp;
}
void
Perm(Type list[],
int
k,
int
m)
{
//
产生list[k:m]的所有排列
if
(k
==
m)
{
//
只剩下1个元素
for
(
int
i
=
0
;i
<
m;i
++
)
cout
<<
list[i];
cout
<<
endl;
}
else
//
还有多个元素待排列,递归产生排列
for
(
int
i
=
k;i
<
m;i
++
)
{
Swap(list[k],list[i]);
Perm(list,k
+
1
,m);
Swap(list[k],list[i]);
}
}
这个排序还是很经典的,以致于我们花了一节课的时间在研究该递归。
posted @
2008-09-30 12:28
Derek_nr
阅读(
236
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告