Java实现字符数组全排列的方法
更新时间:2015年12月21日 15:17:20 作者:ronniewang1993
这篇文章主要介绍了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程序设计有所帮助。
相关文章
IntelliJ IDEA 部署 Web 项目,看这一篇够了!
这篇文章主要介绍了IntelliJ IDEA 部署 Web 项目的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-05-05无感NullPointerException的值相等判断方法
当我们需要去判断一个 入参/查库 返回的开关变量(通常是个Integer类型的)时,常常会写如下的if-else判断语句。但又会为在生产环境看到的「NullPointerException」感到困扰,遇到这个问题如何处理呢,下面小编通过本文给大家详细讲解,需要的朋友参考下吧2023-02-02springboot启动feign项目报错:Service id not legal hostnam的解决
这篇文章主要介绍了springboot启动feign项目报错:Service id not legal hostnam的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08
最新评论