zoukankan      html  css  js  c++  java
  • Java实现字符全阵列阵列

    import org.junit.Test;
    
    public class AllSort {
    
    	public void permutation(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;
    
    				permutation(buf, start + 1, end);// 兴许元素递归全排列
    
    				temp = buf[start];// 将交换后的数组还原
    				buf[start] = buf[i];
    				buf[i] = temp;
    			}
    		}
    	}
    
    	@Test
    	public void testPermutation() throws Exception {
    		char[] buf = new char[] { 'a', 'b', 'c' };
    		permutation(buf, 0, 2);
    	}
    }

    执行測试。输出结果:

    abc
    acb
    bac
    bca
    cba
    cab


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    hdfs 复制路径下所有文件
    吐槽scala
    scala
    spark 你要喧宾夺主么?好好干。
    信赖域算法
    scala shuffle
    自动梯度求解 反向传播算法的另外一种视角
    spark 2.0 Vector toBreeze
    自己玩的git
    js判断浏览器
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4914501.html
Copyright © 2011-2022 走看看