import java.util.ArrayList; import java.util.List; public class BinarySearchTree { private Node root; // Racine de l'arbre // Méthode d'insertion public void insert(double value) { root = insertRec(root, value); } private Node insertRec(Node node, double value) { if (node == null) { return new Node(value); } if (value < node.value) { node.left = insertRec(node.left, value); } else if (value > node.value) { node.right = insertRec(node.right, value); } return node; } // Parcours en ordre croissant public List inOrderTraversal() { List sortedList = new ArrayList<>(); inOrderRec(root, sortedList); return sortedList; } private void inOrderRec(Node node, List sortedList) { if (node != null) { inOrderRec(node.left, sortedList); sortedList.add(node.value); inOrderRec(node.right, sortedList); } } // Redéfinir la méthode toString pour afficher les éléments triés @Override public String toString() { return inOrderTraversal().toString(); } // Main pour le test public static void main(String[] args) { if (args.length == 0) { System.out.println("Veuillez fournir une liste de réels en ligne de commande."); return; } // Créer un arbre binaire de recherche et y insérer les éléments BinarySearchTree bst = new BinarySearchTree(); for (String arg : args) { try { double value = Double.parseDouble(arg); bst.insert(value); } catch (NumberFormatException e) { System.out.println("Valeur invalide ignorée : " + arg); } } // Afficher les éléments triés System.out.println("Éléments triés : " + bst); } }