• 回溯法全排列


    回溯法全排列

    问题引入:

    将 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("
    ");
    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; }

    实例

    非学无以广才,非志无以成学。 正是因为今天的不完美,才对未来充满希望。 ----长帆
  • 相关阅读:
    敏捷软件开发实践-Code Review Process(转)
    随笔1
    随笔
    随笔
    低级错误
    随笔
    随笔2
    随笔
    这以前写的代码
    蛋疼的vs
  • 原文地址:https://www.cnblogs.com/changfan/p/10549138.html
Copyright © 2020-2023  润新知