You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.5 KiB

  1. import java.util.*;
  2. public class Main {
  3. public static void main(String[] args) {
  4. RBTree<IntComparable> rbTree = new RBTree<>();
  5. ArrayList<Integer> numbers = new ArrayList<>();
  6. // ein eingebauter Mechanismus, der sicherstellt, dass eine Zahl nicht 2-mal vorkommt, sonst würde der Baum nicht funktionieren
  7. // Füllen der Liste mit Zahlen
  8. for (int j = 1; j <= 100; j++) {
  9. numbers.add(j);
  10. }
  11. // Terry newly added
  12. Collections.shuffle(numbers); // Liste mischen
  13. for (int i = 0; i < 15; i++) {
  14. int pickedNumber = numbers.remove(0); // Entfernt das Element an dem "Index", return es und speichert es in 'pickedNumber'
  15. IntComparable randomNum = new IntComparable(pickedNumber);
  16. System.out.println("Einfügen: " + randomNum.getValue());
  17. rbTree.insertNode(randomNum);
  18. // Füge das Element ein und aktualisiere die DOT-Datei nach jedem Schritt
  19. rbTree.printDOTAfterInsert("output_step_" + i + ".dot");
  20. }
  21. // Jetzt können Sie die DOT-Dateien in SVG umwandeln und anzeigen
  22. // dot -Tsvg output_step_0.dot > output_step_0.svg
  23. // dot -Tsvg output_step_1.dot > output_step_1.svg
  24. // ...
  25. }
  26. }