// WICHTIG!
// Dieser Algorithmus ist wegen dem großem Aufwand ABSOLUT NICHT zu empfehlen!
 
import java.util.Random;

public class MySort extends SortingAlgorithm {
    private Integer[] array;
    private Random random = new Random();

    public MySort(Integer[] toBeSorted, VisualizerFrame frame) {
        super(toBeSorted, frame);
        this.array = toBeSorted;
    }

    // ĂberprĂŒft, ob das Array sortiert ist
    private boolean isSorted() {
        for (int i = 0; i < getSize() - 1; i++) {
            if (compare(i, i + 1) > 0) {
                return false; // Das Array ist nicht sortiert, wenn ein Element grĂ¶Ăer als sein Nachfolger ist
            }
        }
        return true; // Das Array ist sortiert
    }
    
    // Die BogoSort Funktion
    public void sort() {
        while (!isSorted()) {
            for (int i = 0; i < getSize(); i++) {
                int j = random.nextInt(getSize() + 1); // ZufĂ€lliger Index j
                swap(i, j); // Vertauscht die Elemente an den zufĂ€lligen Indizes
            }
        }
    }
}
