美文网首页
Java实现N个字母的全排列

Java实现N个字母的全排列

作者: Jiafu | 来源:发表于2017-09-29 14:20 被阅读0次
public class AllSort {
    public static void main(String[] args) {
        char buf[] = { 'a', 'b', 'c', 'd' };
 
        perm(buf, 0, buf.length - 1);
    }
 
    public static void perm(char[] buf, int start, int end) {
        if (start == end) {// 当只要求对数组中一个字母进行全排列时,只要就按该数组输出即可
            for (int i = 0; i <= end; i++) {
                System.out.print(buf[i]);
            }
            System.out.println();
        } else {// 多个字母全排列
            for (int i = start; i <= end; i++) {
                char temp = buf[start];// 交换数组第一个元素与后续的元素
                buf[start] = buf[i];
                buf[i] = temp;
 
                perm(buf, start + 1, end);// 后续元素递归全排列
 
                temp = buf[start];// 将交换后的数组还原
                buf[start] = buf[i];
                buf[i] = temp;
            }
        }
    }
}

相关文章

  • Java实现N个字母的全排列

  • 几种计算全排列的方法

    基于golang实现,有非并发实现和并发实现 递归 全排列问题,比如打印1-9的共9个字母的全排列。先输出1,然后...

  • 线性代数笔记 (一)

    预备知识 全排列和对换 全排列 把 n 个不同的元素排成一列, 叫做这 n 个元素的全排列 (简称排列) .n 个...

  • 数组全排列

    递归实现 库函数实现 获取所有元素的全排列:itertools.permutation(lst, n) ——n:...

  • 输出数组的全排列

    思想: n 个元素数组全排列 = 第 1 个前缀 + 后 n - 1 个元素全排列 输出第 k 个元素之后的全排列...

  • Java实现全排列

    ①假设全排列函数为f(n)=n!,那么可以立刻知道f(n+1)=(n+1)Xn!=(n+1)*f(n),因此可以利...

  • Python小白 Leetcode刷题历程 No.46-N

    Python小白 Leetcode刷题历程 No.46-No.50 全排列、全排列Ⅱ、旋转图像、字母异...

  • 全排列

    问题描述 求1-n的所有按字典序的全排列 C++实现

  • 全排列与字典序

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

  • 全排列(递归算法)

    一. 全排列算法 首先:什么是全排列=》百度一下 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,...

网友评论

      本文标题:Java实现N个字母的全排列

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