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

时间:2021-05-19

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章