全排列

作者: Super_邓帅 | 来源:发表于2016-12-31 20:20 被阅读0次


回溯实现全排列

给定一组数,如:1,2,3。编程实现全排列形式:123,132,213,231,312,321

#include<stdio.h>
#define n 3
int a[n]={1,2,3};   //为作业编一个号,便于后期的全排列

void traceback(int t){
    if(t==n){
        for(int i=0;i<n;i++){
            printf("%d",a[i]);
        }
        putchar('\n');
        return;
    }
    for(int i=t;i<n;i++){
        int temp=a[t];
        a[t]=a[i];
        a[i]=temp;
        traceback(t+1);
        temp=a[t];
        a[t]=a[i];
        a[i]=temp;
    }
}
int main(){
    traceback(0);
    return 0;
}
运行截图

相关文章

  • 全排列与字典序

    全排列 递归实现全排列; 首先来说递归算法实现全排列: 例如,对于{1,2,3,4}的例子进行全排列,其可以分解...

  • 全排列

    求全排列最简单的就是递归了123 的全排列共有 6 个, 123 的全排列等于以 1 开头 23 的全排列, 加上...

  • 全排列

    题目 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排...

  • 全排列

    递归的版本image.png

  • 全排列

  • 全排列

  • 全排列

    给出一个列表[1,2,3],其全排列为: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,...

  • 全排列

    给定一个数字列表,返回其所有可能的排列。

  • 全排列

    给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出:[[1,2,3],[1,...

  • 全排列

    两种方法:第一种方法:递归: 从集合中依次选出每一个元素,作为排列的第一个元素,然后对剩余的元素进行全排列,如此递...

网友评论

      本文标题:全排列

      本文链接:https://www.haomeiwen.com/subject/qmkbvttx.html