求一列数的全排列

原创 2015年11月20日 22:06:19
#include<stdio.h>

void print_perm(int a[],int n,int k)
{
    int tmp,i;
    if(n==k)
    {
        for(i=0;i<n;i++)
            printf("%d",a[i]);
        printf("\n");
    }
    for(i=k;i<n;i++)
    {
        tmp=a[i];
        a[i]=a[k];
        a[k]=tmp;
        print_perm(a,n,k+1);
        tmp=a[i];
        a[i]=a[k];
        a[k]=tmp;
    }
}
void main()
{
    int n=5, a[]={1,2,3,4,5};
        print_perm(a, n, 0);
}

用全排列方法解决N皇后问题(Leetcode 51)

有关全排列(Permutation)的思路和代码参见前一篇文章: http://blog.csdn.net/bcj296050240/article/details/51107056这里叙述一下N皇...
  • bcj296050240
  • bcj296050240
  • 2016年04月09日 21:13
  • 980

一列数字的规则如下;1,1,2,3,5,8,13,21,34........ 求第30位数字是多少,用递规和非递归两种方法算法实现

斐波纳契数列(Fibonacci Sequence),又称黄金分割数列。在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代...
  • u011742227
  • u011742227
  • 2015年06月16日 23:01
  • 3682

[C++]LeetCode: 115 Permutations (求一组数的全排列)

题目: Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the...
  • cinderella_niu
  • cinderella_niu
  • 2015年01月20日 21:34
  • 1821

一组数字的全排列按序输出

全排列 按序输出 间接递归 算法分析 问题 策略
  • skyline0623
  • skyline0623
  • 2011年04月16日 08:34
  • 6248

C语言算法—(生成数字的组合升级)生成数据的全排列(类似建立树的回溯法)

其实我们可以看到,在上一个算法(生成数字的组合)中,生成的数据中包含了已知数据的全排列在其中了; 所以我们可以对上一个程序生成的数据进行一次筛选就可以得到全排列;首先,给出上一个算法(生成数字的组合...
  • Vernon917
  • Vernon917
  • 2017年03月26日 23:33
  • 454

蓝桥杯常用算法知识点:【递归】求n个元素的全排列

package com.aiqiongdiao; public class Main { /** * 【递归】求n个元素的全排列 * abc acb bac bca cab cba *...
  • qq_30258957
  • qq_30258957
  • 2016年03月15日 15:41
  • 1900

n个元素的全排列(递归+去重)

排列组合是算法常用的基本工具,如何在c语言中实现排列组合呢?思路如下:本文主要探讨递归实现,由于递归将问题逐级分解,因此相对比较容易理解,但是需要消耗大量的栈空间,如果线程栈空间不够,那么就运行不下去...
  • cyuyanenen
  • cyuyanenen
  • 2016年06月16日 13:10
  • 5544

一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少.

思路:有规律可知,后一项等于前两项之和,所以定义两个变量表示前两项,因为第一个第二不妨直接赋值,从第三个开始算 -------------------------------------------...
  • OnePiece_only
  • OnePiece_only
  • 2017年01月18日 18:22
  • 945

一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现

一列数的规则如下: 1、1、2、3、5、8、13、21、34......  求第30位数是多少, 用递归算法实现 public class MainClass { ...
  • u011082871
  • u011082871
  • 2014年03月01日 11:22
  • 2590

全排列问题:序号与排列转换

问题:全排列按字典序排序,每个排列都对应有一个序号。1.根据序号求排列;2.根据排列求序号。思想:n的阶乘的进制思想,从前往后一次是n!, (n-1)!, …, 2!, 1!。代码:1.根据排列求序号...
  • hellocooper
  • hellocooper
  • 2015年09月29日 17:35
  • 930
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:求一列数的全排列
举报原因:
原因补充:

(最多只允许输入30个字)