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法式設計有所贊助。