/** */ /** * */ package com.wangyile.combination; /** */ /** * @author wangyile * */ public class Combination ... { /** *//** * @param args */ public static void main(String[] args) ...{ // TODO Auto-generated method stub int[] data = ...{1,2,3,4,5,6,7}; //combLoop(data , 4); combRecursive(data ,4 , data.length , 4); System.out.println("total="+total); } public static void combLoop(int[] data , int selected)...{ for(int i = 0 ; i <= data.length - selected + 1 ; i++) for(int j = i +1 ; j <= data.length - selected +2; j++) for(int k = j +1 ; k <= data.length - selected +3; k++)...{ System.out.println(data[i] + "," +data[j] +","+ data[k]); total++; } } public static int total = 0; public static int[] RecurBuff = new int[64]; public static void combRecursive(int[]data ,int stScale , int scale , int selected )...{ for(int i = scale-1 ; i >= selected-1 ; i--)...{ RecurBuff[selected -1] = i; if(selected > 1) combRecursive(data,stScale,i ,selected-1); else...{ for(int j = stScale-1 ; j>=0; j--)...{ System.out.print(data[RecurBuff[j]]); } System.out.println(); total++; } } }}