Java完成字符數組全分列的辦法。本站提示廣大學習愛好者:(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法式設計有所贊助。