递归(回溯)算法

[cc lang=”java”]
package ccpc;

//求n个元素的全排列
public class paixu {
public static void f(char[] data, int k) {
if (k == data.length) {
for (int a = 0; a < data.length; a++) {
System.out.print(data[a] + ” “);
}
System.out.println();
}
for (int i = k; i < data.length; i++) {
{
char r = data[k];
data[k] = data[i];
data[i] = r;// 试探
}
f(data, k + 1);
{
char r = data[k];
data[k] = data[i];
data[i] = r;// 回溯
}
}
}
public static void main(String[] args) {
char[] a = “ABC”.toCharArray();
f(a, 0);

}

}
[/cc]

运行输出结果:

A B C
A C B
B A C
B C A
C B A
C A B

温馨提示: 本文最后更新于2020-09-19 10:30:23,本站资源部分来自网络,由老师收集整理,如有侵犯你的权益请联系管理员E-mail:1679716715@qq.com 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!,请在下方 留言或联系 资灵
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容

投稿


点击在线投稿
投稿邮箱:1679716715@qq.com
交流 QQ:1679716715