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.

38 lines
1.5 KiB

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