下面是個(gè)排列組合生成的算法,我電腦上正好有,NetBeans測(cè)試通過(guò),你要1到6的數(shù)字組合,運(yùn)行時(shí)就輸入6。有比較詳細(xì)的注釋,你可以參考一下。
周口網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
package Combination.c3;import java.util.ArrayList;import java.util.List;public class Combinations { / 設(shè)有n個(gè)元素,組合數(shù)量有2的n次方種。
{ if(a[i]!=0 && a[26-i]!=0) 輸出;若一定要5個(gè)數(shù)都有。
--- 這個(gè)代碼的遞歸思想是這樣的。alist是數(shù)據(jù),blist是結(jié)果 循環(huán)alist,創(chuàng)建出一個(gè)newalist備份,將alist中的一個(gè)元素添加到newblist.add(alist.get(i));中,并在newalist中刪除。將這兩個(gè)新的對(duì)象遞歸下去。
這是我寫(xiě)的一個(gè)取組合的方法:package Combination.c3;import java.util.ArrayList;import java.util.List;public class Combinations { / 設(shè)有n個(gè)元素,組合數(shù)量有2的n次方種。
{ if(a[i]!=0 && a[26-i]!=0) 輸出;若一定要5個(gè)數(shù)都有。
這個(gè)代碼的遞歸思想是這樣的。alist是數(shù)據(jù),blist是結(jié)果 循環(huán)alist,創(chuàng)建出一個(gè)newalist備份,將alist中的一個(gè)元素添加到newblist.add(alist.get(i));中,并在newalist中刪除。將這兩個(gè)新的對(duì)象遞歸下去。
這個(gè)代碼的遞歸思想是這樣的。alist是數(shù)據(jù),blist是結(jié)果 循環(huán)alist,創(chuàng)建出一個(gè)newalist備份,將alist中的一個(gè)元素添加到newblist.add(alist.get(i));中,并在newalist中刪除。將這兩個(gè)新的對(duì)象遞歸下去。
這個(gè)方法沒(méi)有辦法從根本上修改,因?yàn)槟闶茄h(huán)N的M次方來(lái)尋找合適的排列。因此只需要加一個(gè)過(guò)濾條件將不合適的排列過(guò)濾掉剩下的就是組合的個(gè)數(shù)。
這是我寫(xiě)的一個(gè)取組合的方法:package Combination.c3;import java.util.ArrayList;import java.util.List;public class Combinations { / 設(shè)有n個(gè)元素,組合數(shù)量有2的n次方種。