public class PaiLie {

    /**
* @param args
*/
public static void main(String[] args) { PaiLie p=new PaiLie();
int a[]={1,2,3,4};
p.Perm(a, 0, 3);
} public void Perm(int list[],int k,int m){
if(k==m){
for(int i=0;i<=m;i++)
System.out.print(list[i]);
System.out.println();
}else{
for(int i=k;i<=m;i++){
Swap(list, k, i);
Perm(list, k+1, m);
Swap(list, k, i);
}
} } public void Swap(int[] list,int i,int j){
int temp=list[i];
list[i]=list[j];
list[j]=temp;
}
}

本题采用递归实现。

数列全排列问题----递归实现--JAVA的更多相关文章

  1. 全排列算法--递归实现(Java)

    求一个n阶行列式,一个比较简单的方法就是使用全排列的方法,那么简述以下全排列算法的递归实现. 首先举一个简单的例子说明算法的原理,既然是递归,首先说明一下出口条件.以[1, 2]为例 首先展示一下主要 ...

  2. n个整数全排列的递归实现(C++)

    全排列是很经常使用的一个小算法,以下是n个整数全排列的递归实现,使用的是C++ #include <iostream> using namespace std; int n = 0; vo ...

  3. 数组排序、递归——(Java学习笔记二)

    升序:      选择排序:         选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置         先出现最小值,最后出现最大值. public stat ...

  4. 生成n个数的全排列【递归、回溯】

    下面讨论的是n个互不相同的数形成的不同排列的个数.毕竟,假如n个数当中有相同的数,那n!种排列当中肯定会有一些排列是重复的,这样就是一个不一样的问题了. /*===================== ...

  5. 常见递归问题 java

    //最长公共子序列 import java.util.*;public class Main { public static void main(String[] args){ int ans = m ...

  6. 关于单链表的增删改查方法的递归实现(JAVA语言实现)

    因为在学习数据结构,准备把java的集合框架底层源码,好好的过一遍,所以先按照自己的想法把单链表的类给写出来了; 写该类的目的: 1.练习递归 2.为深入理解java集合框架底层源码打好基础 学习的视 ...

  7. JS 从斐波那契数列浅谈递归

    一.前言 昨晚下班后,经理出于兴趣给我们技术组讲了讲算法相关的东西,全程一脸懵逼的听,中途还给我们出了一道比较有趣的爬楼问题,问题如下: 假设一个人从地面开始爬楼梯,规定一步只能爬一坎或者两坎,人只能 ...

  8. 全排列问题(递归&非递归&STL函数)

    问题描述: 打印输出1-9的所有全排序列,或者打印输出a-d的全排列. 思路分析: 将每个元素放到余下n-1个元素组成的队列最前方,然后对剩余元素进行全排列,依次递归下去. 比如:1 2 3 为例首先 ...

  9. 简单的字母全排列问题—递归法和STL法

    问题描述:求全由小写字母组成的不超过200个字符序列的全排列 如输入序列bbjd,排列结果为: bbdj bbjd bdbj bdjb bjbd bjdb dbbj dbjb djbb jbbd jb ...

随机推荐

  1. # 常用linux 命令和相关问题解决

    最近试着自己部署了服务器,在unbantu的环境下 学习了很多新知识 也遇到了很多问题,现在腾出手了,总结一下 常用Linux命令 目录操作 pwd: 查看当前路径 cd: 移动 cd .. : 返回 ...

  2. How Many Zeroes? LightOJ - 1140

    #include<stdio.h> #include<string.h> #include<math.h> #include<time.h> #incl ...

  3. 添加“Git Bash Here”到右键菜单

    1.按键盘上的组合键[Win+R]把运行调出来 2.在运行中输入[regedit]再点击确定. 3.定位到HKEY_CLASSES_ROOT\Directory\Background\shell(如果 ...

  4. python常见报错类型

     更新ing 报错类型 报错内容 错误判断 错误解决方式 IndentationError IndentationError:unexpected indent 格式错误:以外缩进   Indenta ...

  5. C# FTP操作类的代码

    如下代码是关于C# FTP操作类的代码.using System;using System.Collections.Generic;using System.Text;using System.Net ...

  6. office-excel

    Excel打印每张纸都带表头 页面布局--->打印标题--->顶端标题行

  7. linux mkdir命令

    1 mkdir,创建一个空目录. 比如:mkdir test 2 mkdir -p,递归创建目录. 比如:mkdir -p a/b.迭代创建. 3 mkdir -m 777 d 创建权限为777的目录 ...

  8. CycleGan论文笔记

    原文地址:https://arxiv.org/abs/1703.10593 背景——风格迁移 图片生成领域是GAN网络的天下,最近很多人将GAN网络应用到了图像风格迁移领域.这篇论文也是做image ...

  9. fetch与XHR的区别与优势

    Fetch API更加现代 XHR 和 Fetch API 最显著的区别就是调用方式不同.这一点大家应该都知道吧. 举个例子,下面两端代码完成的是同一功能: // 用 XHR 发起一个GET请求 va ...

  10. MS17-010漏洞复现

     攻击机:192.168.148.132  kali linux2018.2  x64 靶机:192.168.1.129    win7   x64 首先用msfconsole的smb模块扫描,看看是 ...