Java實現(xiàn)字符數(shù)組全排列的方法
更新時間:2015年12月21日 15:17:20 作者:ronniewang1993
這篇文章主要介紹了Java實現(xiàn)字符數(shù)組全排列的方法,涉及Java針對字符數(shù)組的遍歷及排序算法的實現(xiàn)技巧,需要的朋友可以參考下
本文實例講述了Java實現(xiàn)字符數(shù)組全排列的方法。分享給大家供大家參考,具體如下:
import org.junit.Test;
public class AllSort {
public void permutation(char[] buf, int start, int end) {
if (start == end) {// 當(dāng)只要求對數(shù)組中一個字母進(jìn)行全排列時,只要就按該數(shù)組輸出即可
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];// 交換數(shù)組第一個元素與后續(xù)的元素
buf[start] = buf[i];
buf[i] = temp;
permutation(buf, start + 1, end);// 后續(xù)元素遞歸全排列
temp = buf[start];// 將交換后的數(shù)組還原
buf[start] = buf[i];
buf[i] = temp;
}
}
}
@Test
public void testPermutation() throws Exception {
char[] buf = new char[] { 'a', 'b', 'c' };
permutation(buf, 0, 2);
}
}
運(yùn)行測試,輸出結(jié)果:
abc
acb
bac
bca
cba
cab
希望本文所述對大家Java程序設(shè)計有所幫助。
相關(guān)文章
SpringBoot+Vue前后端分離實現(xiàn)審核功能的示例
在實際開發(fā)中,審核功能是一個非常常用的功能,本文就來介紹一下使用SpringBoot+Vue前后端分離實現(xiàn)審核功能的示例,具有一定的參考價值,感興趣的可以了解一下2024-02-02
SpringBoot yaml中的數(shù)組類型取值方式
這篇文章主要介紹了SpringBoot yaml中的數(shù)組類型取值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
基于SpringBoot接口+Redis解決用戶重復(fù)提交問題
當(dāng)網(wǎng)絡(luò)延遲的情況下用戶多次點(diǎn)擊submit按鈕導(dǎo)致表單重復(fù)提交,用戶提交表單后,點(diǎn)擊瀏覽器的【后退】按鈕回退到表單頁面后進(jìn)行再次提交也會出現(xiàn)用戶重復(fù)提交,辦法有很多,我這里只說一種,利用Redis的set方法搞定,需要的朋友可以參考下2023-10-10
關(guān)于springboot響應(yīng)式編程整合webFlux的問題
在springboot2.x版本中提供了webFlux依賴模塊,該模塊有兩種模型實現(xiàn):一種是基于功能性端點(diǎn)的方式,另一種是基于SpringMVC注解方式,今天通過本文給大家介紹springboot響應(yīng)式編程整合webFlux的問題,感興趣的朋友一起看看吧2022-01-01
ArrayList與linkedList的用法區(qū)別及擴(kuò)容方式
這篇文章主要介紹了ArrayList與linkedList的用法區(qū)別及擴(kuò)容方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03

