首页 > 编程 > Java > 正文

Java实现字符数组全排列的方法

2019-11-26 14:44:21
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表