Java实现字符数组全排列的方法_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

希望本文所述对大家Java程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, 字符数组
, 全排列
Java字符数组
java实现排列组合、java数组排列组合、java数组倒序排列、java数组降序排列、字符串全排列 java,以便于您获取更多的相关知识。

时间: 2024-10-27 03:36:57

Java实现字符数组全排列的方法_java的相关文章

JAVA随机打乱数组顺序的方法_java

本文实例讲述了JAVA随机打乱数组顺序的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import java.util.Random;        public class RandomSort {        private Random random = new Random();        //数组大小        private static final int SIZE = 10;        //要重排序的数组        private int

浅谈java 字符串,字符数组,list间的转化_java

1.关于java.lang.string.split xxx.split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回. 2.字符串转字符数组 String str =" aa.png,a2.png,a3.png"; String[] arrayStr =new String[]{}; arrayStr = str.split(","); 3.字符数组转list List list = java.util.Arrays.asList(array

js接收并转化Java中的数组对象的方法_javascript技巧

在做项目时,要向ocx控件下发命令,就要在js中得到java中的对象,然后拼成一种格式,下发下去...当对象是一个时比较简单,但如果对象是一个数组时,就略显麻烦了. 开始我以为有简单的方式,可以直接进行内容的转化,后来发现不可以,网上说js与java没有桥接的东西,所以呢: 我的解决方案是:在action层,将java的对象数组转化为Json串,而在js中,再把json转化为数组对象. 1.将java的对象数组转化为Json串: 要用到两个类: net.sf.json.JSONObject ne

python标准算法实现数组全排列的方法

 这篇文章主要介绍了python标准算法实现数组全排列的方法,实例分析了全排列的原理与Python实现技巧,需要的朋友可以参考下     本文实例讲述了python标准算法实现数组全排列的方法,代码来自国外网站.分享给大家供大家参考.具体分析如下: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 def Miden

python通过yield实现数组全排列的方法_python

本文实例讲述了python通过yield实现数组全排列的方法.分享给大家供大家参考.具体分析如下: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列. 这段代码用到了yield方法,全排列速度加倍 def perm(arr, pos = 0): if pos == len(arr): yield arr for i in range(pos, len(arr)): arr[pos], arr[i] = a

python标准算法实现数组全排列的方法_python

本文实例讲述了python标准算法实现数组全排列的方法,代码来自国外网站.分享给大家供大家参考.具体分析如下: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列. def Mideng(li): if(type(li)!=list): return if(len(li)==1): return [li] result=[] for i in range(0,len(li[:])): bak=li[:] h

java统计字符串中重复字符出现次数的方法_java

本文实例讲述了java统计字符串中重复字符出现次数的方法.分享给大家供大家参考,具体如下: package com; import org.junit.Test; /** * 统计一个字符串的重复字符出现的次数 * * @author zdw * */ public class StringTest { @Test public void test() { String s = "fdfaacceeeeeeeeeeeegghikkkkkoooo"; count(s); } public

Java数组,去掉重复值、增加、删除数组元素的方法_java

如下所示: import java.util.List; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; public class lzwCode { public static void main(String [] args) { testA(); System.out.println("==========================="); testB(); System

java实现上传图片进行切割的方法_java

本文实例讲述了java实现上传图片进行切割的方法.分享给大家供大家参考.具体分析如下: 为什么我要进行上传的图片进行切割呢,我这个项目的图片是部门logo,每个部门都可以选择不同的logo,但是要应对浏览器的兼容以及拉伸,我选择了把一张图片切成左.中.右和剩下的部分,因为左边和中变可能会有图案或者字所以不能拉伸,拉伸的只是右边的部分,剩下的部分自适应就可以了.所以用了javax的ImageReader来操作.最后以blob类型保存数据库中. 首先要在form表单里面写上enctype="mult