InsertSort Implementation

wil89

Mitglied
hi alle;

ich habe ein Stück Java Codes gefunden in iNet gefunden:


public class insSort{


public static void main(String[] args) {

int[] unsortiert = { 4, 1, 8, -3, 5, 7 };
int[] sortiert = insertionSort(unsortiert);

for (int i = 0; i < sortiert.length; i++) {
System.out.print(sortiert + ", ");
}

}

public static int[] insertionSort(int[] sortieren) {
int temp;
for (int i = 1; i < sortieren.length; i++) {

temp = sortieren;
int j = i;
while (j > 0 && sortieren[j - 1] > temp) {
j--;
}
sortieren[j] = temp;
}
return sortieren;
}
}

???:L
Eine Dummy Frage :

ist die Zeile int temp; unter insertionSort(int sortieren) nicht notwendigerweise als sortieren[0] in for- loop zu initialisieren ? Der temp muss doch hier Anfangswert haben, bevor man es mit seinen Nachbarn vertauschen kann.
Erklärung bitte .Sorry nochmal , um euch Mühe dazu zu machen.
lg
wil89
 
Zuletzt bearbeitet:

stg

Top Contributor
Du könntest auch bei 0 starten, aber überleg doch mal, was der Algorithmus dann machen würde. Er würde das erste Element (also das mit Index 0) unter den ersten 1 (!) Elementen sortiert einfügen. Ziemlich sinnlos oder? :)
 
Zuletzt bearbeitet:

wil89

Mitglied
Danke erstmal,

Zitat :

Er würde das erste Element (also das mit Index 0) unter den ersten 1 (!) Elementen sortiert einfügen. Ziemlich sinnlos oder?


hmm...das ist mein erstes Mal der Programmierung , sei bisschen geduldig zu mir, wenn ik nicht sofort verstanden habe.

Aehm... welches Codeabschnitt hier sagt " das erste Element (also das mit Index 0) unter den ersten 1 (!) Elementen sortiert einfügen. " nochmal ?


public static int[] insertionSort(int[] sortieren) {
int temp;
for (int i = 1; i < sortieren.length; i++) {

temp = sortieren;
int j = i;
while (j > 0 && sortieren[j - 1] > temp) {
j--;
}
sortieren[j] = temp;
}
return sortieren;
}
 

Saheeda

Top Contributor
Hi,
denselben Algorithmus hab ich mir heute auch genauer angesehen. In deiner while-Schleife fehlt glaube ich was:
Java:
sortieren[j] = sortieren [j-1]

Diese Zeile fügt den Vorgänger an der aktuellen Position ein, bis es vor sortieren keine kleinere Zahl mehr gibt.
Schaus dir vielleicht mal im Debugger an, dann wirds dir klar.
 

wil89

Mitglied
hi,

sortieren[j] = sortieren [j-1]

Diese Zeile fügt den Vorgänger an der aktuellen Position ein, bis es vor sortieren keine kleinere Zahl mehr gibt.
Schaus dir vielleicht mal im Debugger an, dann wirds dir klar.


Danke für neuer Sachen Ankündigung,
also du willst es hier nach dem Line whiile Schleife hinzu ,ja?
while (j > 0 && sortieren[j - 1] > temp) {
j--;
}



lg wil89
 
Zuletzt bearbeitet:

Saheeda

Top Contributor
Nein, nicht nach der while-Schleife, _in_ die while-Schleife:

Java:
while (j > 0 && sortieren[j - 1] > temp) {
sortieren[j] = sortieren [j-1] 

j--;
 }

Momentan macht deine Schleife gar nichts. Sie geht zwar rückwärts durch das Array, macht aber nichts mit den Werten, die sie unterwegs findet.

Link zur Originalseite
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Bubble und Insertsort Java Basics - Anfänger-Themen 3
F Bubblesort, Insertsort Java Basics - Anfänger-Themen 2
A SelectionSort >InsertSort< Java Basics - Anfänger-Themen 4
M Wie kann die Implementation einer Methode den Wert eines Attributs vermindern? Java Basics - Anfänger-Themen 3
A Rekursive Implementation eines Codes Java Basics - Anfänger-Themen 4
BorussiaMG1900 Implementation einer Methode Java Basics - Anfänger-Themen 1
N BlueJ Implementation Analoguhr Java Basics - Anfänger-Themen 33
L Erste Schritte Help with websocket protocol implementation Java Basics - Anfänger-Themen 5
D Fork/Join Implementation Java Basics - Anfänger-Themen 4
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
P GUI: Mausklick-Implementation Java Basics - Anfänger-Themen 2
U Interface Bedeutung "Code to an interface rather than to an implementation." Java Basics - Anfänger-Themen 4
M Liste Implementation, doppelt next() Java Basics - Anfänger-Themen 13
L Methoden Files.walkFileTree implementation Java Basics - Anfänger-Themen 3
S Gute List Implementation Java Basics - Anfänger-Themen 5
K Telefonbuch Implementation mit Java Collections Java Basics - Anfänger-Themen 4
J this aus eingebetteter implementation heraus Java Basics - Anfänger-Themen 2
H implementation Java Basics - Anfänger-Themen 12
P Singleton-Implementation Java Basics - Anfänger-Themen 8
L Implementation gesucht - ArrayList.iterator() Java Basics - Anfänger-Themen 3
G Map-Implementation die nicht sortiert Java Basics - Anfänger-Themen 9
U Implementation von Beziehungen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben