Merci cela marche très bien !
J'ai réussi à afficher avec ma List avec ce code :
1 2 3 4 5 6 7 8 9 10 11 12
| public static void affichage_enumeration(List<List<Arete>> resultats) {
System.out.println("Affichage des sous-ensembles");
for(int i = 0; i < resultats.size(); i++) {
List<final_test.Arete> test= resultats.get(i);
for(int j = 0; j < test.size(); j++) {
Arete a1 = test.get(j);
System.out.println(a1.d+" "+a1.g+" "+a1.p);
}
System.out.println("____________________________");
}
System.out.println("Fin de l'affichage des sous-ensembles");
} |
Par contre j'essaye aussi d'afficher une autre list du même type :
static List<List<Arete>> arbres = new LinkedList <List<Arete>>();
qui contient 7 éléments d'après le size() mais cela ne marche pas. Il y a que la partie
System.out.println("____________________________");
qui s'affiche. Je sais que le problème vient au niveau du clear() mais je ne vois pas comment le résoudre. J'ai besoin que ma liste se remette à 0 pour accueillir une autre liste d'arête à chaque parcours.
Je mets le code du remplissage de ma List<List<Arete>> au cas où ...
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
| public static List<List<Arete>> test_arbres(List<List<Arete>> resultats, List<Arete> arbre, int []a ) {
int compteur = 0;
for(int i = 0; i < resultats.size(); i++) { // voir pour tout les sous-ensemble
System.out.println("resultats");
System.out.println(resultats.size());
List<Arete> test = resultats.get(i);
init(a);
for (int j = 0; j < test.size(); j++ ){ // pour chaque sous-ensemble
Arete a1 = test.get(j);
if (cyclep(a,a1.g,a1.d)) { // si ex premier sommet de l'arête à l'indice 0 ne force pas un cycle avec sommet d
arbre.add(a1);
}
}
System.out.println("Nous sortons du for");
System.out.println(arbre.size());
arbres.add(arbre);
arbre.clear();
compteur++;
}
System.out.println("le nombre d'arbres est "+compteur);
System.out.println("elements dans arbres "+ arbres.size());
return arbres;
} |
Un grand merci pour l'aide !
Partager