问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

该程序是用递归算法实现全排列,我调试了很多遍也弄不明白perm函数else部分for循环运行脉络,请帮帮忙呀

发布网友 发布时间:2022-05-30 12:31

我来回答

1个回答

热心网友 时间:2023-10-17 14:05

全排列的递归生成算法,应该先明白思想。
思想明白了,看程序其实不是难点。
思想如下:
就以你1,2,3为例。
它的排列是不是可以分为3中。
1开头的,2开头的,3开头的。
1开头的后面是不是又是2,3的所以排列在其后面。
所以就有了下面这个关键代码

for(int i=k;i<=m;i++)
{
swap(list[k],list[i]);
perm(list,k+1,m);
swap(list[k],list[i]);
}
初始调用的时候,k=0.perm(list,0,2);
这时候,它把每一个位置都放到第一个位置。
就相当于是分别以其开头的。
然后它递归调用后面的数生成的排列。
perm(list,k+1,m);
这是后面的数生成的排列。
swap(list[k],list[i]);
这是恢复。进行下一次交换。
其实关键思想,就是把每个元素放在第一个位置。然后加上后面的数生成全排列。
这个递归思想很重要。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
四开大门要多少宽度 四开大门尺寸多少 大门四开门尺寸是多少 秦昊新剧《亲爱的小孩》网上褒贬不一,你觉得这部剧是否符合现实呢? 《亲爱的小孩》妻子产后失禁,丈夫嫌弃反复洗手,你怎么看? 求推荐一个安卓手机文档管理工具吧,手机实在太乱了,也没有介绍的? 手机文件管理器哪个好用 隐私文件夹app哪个好用 泰山茶年产600吨品牌近40个销售额达5亿元 山东茶叶品牌 山东茶叶厂家 山东有哪些茶叶品牌【品牌库】 从广延路到真如中学如何走? 急求帮忙!北京海淀出国留学中介中心哪家最好?津桥留学服务机构怎么样? 现在的留学团队丰富,北京哪里好? 塞尔达传说 黄昏公主中的心之碎片问题。 塞尔达传说天空之剑 生命勋章有什么用 塞尔达三圈精力等于多少颗心 梨花头怎样的?可以斜刘海吗?如果去店里烫的话要怎么说?大约多少钱? 这样的短发烫个什么样的发型好看啊?希望各位大虾给个好建议 昆明安宁如何开具失业证明 大家好,有没有经常人知道日本的膏药怎么样,我母亲的膝关节骨刺,骨质增生特别疼,打算从日本采购一下治 怎么选择?求救!!! A同济的材料力学与结构力学? B北理工的理论力学? C吉林大学的理论力学或材料力学 吉大机械专业考研的专业课是什么啊 想考吉林大学的机械工程类专业的硕士研究生,那吉大这类的专业都是具体什么?本专业的考试都具体考什么 学材料力学用什么书好? 淮阴工学院理论力学 聂毓琴 孟广伟材料力学同步指导书的书名是什么啊 吉林大学考研材料力学是看刘鸿文还是聂毓琴孟广伟的 冷车启动时有吱吱声,踩下离合器没声音了 今年郑州6.1小学生放假吗? 郑州今年淮河东路小学什么时间放暑假 郑州初中高中放暑假时间 c&#47;c++算法优化,将1-9九个数不重复地赋给数组的9个元素,必须遍历所有可能 如何实现这个算法?(算法设计与分析 书中的题) 关于c++排列的算法 字典序列法问题请教 急求算法高手帮我解答下面的递归问题!!! 天津艺术设计考研手绘培训班哪里比较好?有靠谱的培训机构推荐吗? 我想将有限公司营业执照出租可以吗? 凤尾鱼咋养?爱吃啥?咋保健 治病?喂多少?咋分辩公母?咋繁殖!? 初级程序员学习方法? 隆鼻之后打喷嚏会有影响吗? 隆鼻之后可以擤鼻涕吗 隆鼻后老是想打喷嚏 隆鼻后爱打喷嚏和流鼻涕是什么原因 18岁时做过鼻梁矫正手术!现在天气一变冷早上鼻子堵塞,流鼻涕。打喷嚏一打就好多个! 刚刚隆鼻,鼻炎好像发作了,老想打喷嚏怎么办 假体填充鼻子 ,现在是手术完第四天 请问打喷嚏鼻子会歪掉吗 隆鼻对阴雨天有反应吗 为什么我在隆鼻后会有流鼻涕,打喷嚏的症状。 高中物理的简谐运动,是什么东东? 高中物理,简谐运动,相位差是位移差,还是时间差?