1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| ArrayList alphabet = new ArrayList();
ArrayList liste_res = new ArrayList();
alphabet.add("a");
alphabet.add("b");
alphabet.add("c");
n=3;
k=0;
liste_res = ut.genere(list_genes,liste_res,n,k);
System.out.println(liste_res.toString());
//Dans la class util
ArrayList genere(ArrayList alphabet, ArrayList liste_res, int n, int k)
{
ArrayList res = new ArrayList();
int i,j;
String item;
res = liste_res;
if(k==n){ res = liste_res; }
else{
if(liste_res.size()==0) {
for (j=0;j<alphabet.size();j++){
item=alphabet.get(j).toString();
liste_res.add(item);
res = genere(alphabet,liste_res,n,1);
}
}
else{
for (i=0;i<liste_res.size();i++){
for (j=0;j<alphabet.size();j++){
if(liste_res.get(i).toString().length()<alphabet.size()){
if(!liste_res.get(i).toString().contains(alphabet.get(j).toString())){
item = liste_res.get(i).toString()+"+AND+"+alphabet.get(j).toString();
if(!liste_res.contains(item)){
if(!meme_item_dans_liste(item, liste_res)){
liste_res.add(item);
res = genere(alphabet,liste_res,n,item.length());
}
}
}
}
}
}
}
}
return res;
}
}
boolean meme_item(String ch1, String ch2){
boolean rep=false;
int compt = 0;
int i;
if(ch1.length()==ch2.length()){
for (i=0;i<ch1.length();i++){
if(ch2.contains(ch1.substring(i, i+1))==true) compt++;
}
if (compt == ch1.length()) rep = true;
}
return rep;
}
boolean meme_item_dans_liste(String ch1, ArrayList l){
boolean rep=false;
int i=0;
while(i<l.size() && rep==false){
if(meme_item(l.get(i).toString(),ch1)==true) rep=true;
i++;
}
return rep;
} |
Partager