Servus - ich bitte um eure Meinung!
In der Schule machen wir gerade Sortieralgorithmen - ich probier's immer selbst bevor ich mir die Referenz ansehe und habe folgenden Algorithmus entworfen (Kommentare bitte einfach ignorieren):
So, jetzt wird ja (scheinbar) mit jedem durchlauf der äußeren For-Schleife ein Element eingefügt, so wie gewollt. Wie ihr es aber wahrscheinlich schon seht vertausche ich eigentlich Elemente von 0 bis i, je nachdem welches halt als erstes >arr(i) ist.
Nun meine eigentliche Frage: ist das Insertionsort (wenn auch schlechter als die Norm), oder einfach irgendein Algorithmus?
Danke fürs durchlesen!
P.S. das meine ich mit "Norm": https://www.geeksforgeeks.org/insertion-sort/
In der Schule machen wir gerade Sortieralgorithmen - ich probier's immer selbst bevor ich mir die Referenz ansehe und habe folgenden Algorithmus entworfen (Kommentare bitte einfach ignorieren):
Java:
int[] arr = {9, 2, 7, 5, 4, 3, 1, 8, 6};
int temp;
System.out.println("--Insertionsort--");
System.out.println("Unsortiert: " + Arrays.toString(arr));
for (int i = 1; i < arr.length; i++) { //das erste Element zum vor das 1. Element einfügen ist sinnlos => wir starten bei i=1
for (int j = 0; j < i; j++) {
if (arr<arr[j]) {
temp=arr;
arr=arr[j];
arr[j]=temp;
}
}
/* innere For-Schleife bis zu <i, da das i'te Elementt ein nach rechts verschobenes ist => muss größer sein als alles links davon
*die 3ecks-Vertauschung findet so oft statt, wie viele größere Elemente es vor dem i'ten Element gibt
* im Prinzip wird das i'te Elemente mit dem j'ten Element vertauscht, dann wieder das i'te (was jetzt das vorherige j'te ist)
* wieder mit dem neuen j'ten Elementt. Dieses ist dann wieder das i'te Element usw., bis links vom i'ten Element keine
* Elemente < arr mehr sind */
System.out.println("Zwischenstand: " + Arrays.toString(arr));
}
System.out.println("Sortiert: " + Arrays.toString(arr));
So, jetzt wird ja (scheinbar) mit jedem durchlauf der äußeren For-Schleife ein Element eingefügt, so wie gewollt. Wie ihr es aber wahrscheinlich schon seht vertausche ich eigentlich Elemente von 0 bis i, je nachdem welches halt als erstes >arr(i) ist.
Nun meine eigentliche Frage: ist das Insertionsort (wenn auch schlechter als die Norm), oder einfach irgendein Algorithmus?
Danke fürs durchlesen!
P.S. das meine ich mit "Norm": https://www.geeksforgeeks.org/insertion-sort/