fin arbre

This commit is contained in:
2024-11-27 12:26:48 +01:00
parent d6a9265998
commit 85103a2222
53 changed files with 1412 additions and 239 deletions

View File

@@ -0,0 +1,42 @@
import java.io.File;
// Classe représentant un nœud de l'arbre
public class Noeud {
String nom;
Noeud[] enfants;
public Noeud(String nom) {
this.nom = nom;
this.enfants = new Noeud[0]; // Initialement pas d'enfants
}
public void setEnfants(Noeud[] enfants) {
this.enfants = enfants;
}
public void afficher(String prefixe) {
System.out.println(prefixe + nom);
for (Noeud enfant : enfants) {
enfant.afficher(prefixe + " ");
}
}
// Méthode pour construire un arbre à partir d'un répertoire
public static Noeud construireArbre(File fichier) {
Noeud noeud = new Noeud(fichier.getName());
if (fichier.isDirectory()) {
File[] contenu = fichier.listFiles();
if (contenu != null) {
Noeud[] enfants = new Noeud[contenu.length];
for (int i = 0; i < contenu.length; i++) {
System.out.print(fichier.getName()+":");
System.out.print(contenu[i]);
System.out.println("");
enfants[i] = construireArbre(contenu[i]);
}
noeud.setEnfants(enfants);
}
}
return noeud;
}
}