Untitled

 avatar
unknown
plain_text
5 months ago
3.6 kB
4
Indexable
public class MySet {
    private int[] set = {1, 2, 3, 4, 5, 6, 7, 8, 9};

    // Methode zum Hinzufugen eines einzelnen Elements
    public int[] addToSet(int item) {
        // Prüfen, ob das Element bereits in der Menge ist
        for (int i = 0; i < set.length; i++) {
            if (set[i] == item) {
                return set;  // Wenn das Element vorhanden ist, nichts tun
            }
        }

        // Element hinzufugen, wenn es noch nicht vorhanden ist
        int[] newSet = new int[set.length + 1];
        for(int i = 0; i< set.length; i++){
            newSet[i]= set[i];
        }
        newSet[set.length] = item;
        set = newSet;
        return set;
    }

    // Methode zum Hinzufugen einer Menge
    public int[] addToSet(MySet s) {
        int[] otherSet =  s.getSet();  // Verwende die getSet-Methode

        for (int i = 0; i < otherSet.length; i++) {
            boolean isNotDuplicate = true;
            for (int j = 0; j < set.length; j++) {
                if (set[j] == otherSet[i]) {
                    isNotDuplicate = false;
                    break;
                }
            }
            if (isNotDuplicate) {
                addToSet(otherSet[i]);
            }
        }
        return set;
    }

    // Methode zum Entfernen eines einzelnen Elements
    public int[] removeFromSet(int item) {
        int count = 0;
        for (int i = 0; i < set.length; i++) {
            if (set[i] == item) {
                count++;
            }
        }
        if (count == 0) {
            return set;  // Wenn das Element nicht existiert, nichts tun
        } else {
            int[] newSet = new int[set.length - 1];
            int index = 0;
            for (int i = 0; i < set.length; i++) {
                if (set[i] != item) {
                    newSet[index++] = set[i];
                }
            }
            set = newSet;
        }
        return set;
    }

    // Methode zum Entfernen der Elemente einer anderen Menge
    public int[] removeFromSet(MySet s) {
        int[] otherSet = s.getSet();

        for (int i = 0; i < otherSet.length; i++) {
            removeFromSet(otherSet[i]);
        }
        return set;
    }

    // Getter-Methode,
    public int[] getSet() {
        return set;
    }

    public void setSet(int[] set){
       this.set = set;
    }

    // Methode zum Sortieren
    public int[] sort(int[] set) {
        // (Bubble Sort)
        for (int i = 0; i < set.length - 1; i++) {
            for (int j = i + 1; j < set.length; j++) {
                if (set[i] > set[j]) {
                    int temp = set[i];
                    set[i] = set[j];
                    set[j] = temp;
                }
            }
        }

        // Trennen von ungeraden und geraden Zahlen
        int[] sortedSet = new int[set.length];
        int index = 0;
        int counter = 0;

        // Fuge den ungeraden Zahlen
        for (int i = 0; i < set.length; i++) {
            if (set[i] % 2 != 0) {
                sortedSet[index++] = set[i];
                counter++;
            }
        }
        // Fuge denn geraden Zahlen hinzu
        for (int i = 0; i < set.length; i++) {
            if (set[i] % 2 == 0) {
                sortedSet[counter++] = set[i];
            }
        }
        return sortedSet;
    }

    // Ausgabe
    public void printSet(int[] set) {
        for (int i = 0; i < set.length; i++) {
            System.out.print(set[i] + (i < set.length - 1 ? ", " : "\n"));
        }
    }
}
Editor is loading...
Leave a Comment