首页 > 其他 > 详细

回溯法全排列

时间:2019-03-17 22:07:00      阅读:189      评论:0      收藏:0      [点我收藏+]

回溯法全排列

问题引入:

将 A B C全排列,并打印出全部排列可能。

 

#include<stdio.h>
#include<string.h>
void f(char a[],int k){
int i,length;
length=strlen(a);                        //计算字符串的长度
if(k==length-1){
printf("%s",a);                     //打印字符数组a
printf("\n");
return ;
}

char t;
for(i=k;i<length;i++)
{
{t=a[k]; a[k]=a[i];a[i]=t;} //试探 f(a,k+1); //回溯  {t=a[k]; a[k]=a[i];a[i]=t; }              //把上一级改变的再改变过来,防止下次递归改变a的值时,已经不是初始的a } int main(){ char a[4]={A,B,C};                            //初始化字符数组a f(a,0);  return 0; }

实例

 

回溯法全排列

原文:https://www.cnblogs.com/changfan/p/10549138.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!