java对字符和数字进行排列的算法源码--TryBoth
package com.hexiang.utils.arrange; public class TryBoth{ public static void main(String[] args){ System.out.println("对整数数组进行部分排列: A(4,3)"); int[] intArray=new int[4]; for(int i=0;i<intArray.length;i++){ intArray[i]=i+1; } Combination intCombination2=new Combination(intArray.length,3); while(intCombination2.hasMore()){ int[] temp=new int[3]; int[] index1=intCombination2.getNext(); boolean zero=true; for(int i=0,j=0;i<intArray.length;i++){ if(index1[i]!=0){ zero=false; temp[j++]=intArray[index1[i]*i]; } } if(zero!=true){ Arrange intArrange=new Arrange(temp.length); while(intArrange.hasMore()){ int[] index2=intArrange.getNext(); for(int i=0;i<temp.length;i++){ System.out.print(temp[index2[i]]+" "); } System.out.println(); } } } System.out.println("对字符数组进行部分排列;A(4,3)"); String str="abc"; char[] chArray=str.toCharArray(); Arrange strArrange=new Arrange(chArray.length); while(strArrange.hasMore()){ char[] temp=new char[3]; int[] index1=strArrange.getNext(); boolean zero=true; for(int i=0,j=0;i<chArray.length;i++){ zero=false; temp[j++]=chArray[index1[i]]; } if(zero!=true){ Arrange intArrange=new Arrange(temp.length); while(intArrange.hasMore()){ int[] index2=intArrange.getNext(); for(int i=0;i<temp.length;i++){ System.out.print(temp[index2[i]]+" "); } System.out.println(); } } } } }
- 1
- 粉丝: 50
- 资源: 244
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助