|
Insertion Sort - Java
|
- Aufgabe
Sortieren durch direktes Einfügen.
Dieser Suchalgorithmus ist genauso einfach wie Selection-Sort,
aber flexibler.
Benötigt zwischen N²/4 und N²/2 Vergleiche und N²/8 und N²/4
Austauschoperationen.
Das betrachtete Element (h) wird eingefügt, indem die größeren Elemente (a[
x ]) um eine Position nach rechts kopiert werden und das Element (h) auf dem
frei gewordenen Platz (a[ j ]) eingefügt wird.
- Struktogramm
- Quellcode
/** Funktion: Insertion-Sort, Sortieren durch direktes Einfügen
Applikation ohne Oberfläche, läuft in der Dos-Box: "java insert"
@author DG1XPZ
@version JDK131
*/
class insert {
static
int[ ] zahlen={
9,5,8,6,3,7,4,0,1,2
}; //Array "zahlen"
deklarieren und befüllen
public static void main(
String[
] vArgs ) {
insert in = new insert
( );
//Instanz von
der Klasse "insert" erzeugen
zahlen=in.sort(
zahlen );
//Feld "zahlen" sortieren
System.out.println(
in.toString(
)); //Feld "zahlen" ausgeben
}
/** Funktion: Sortieren
eines Arrays nach der Insertion-Sort-Methode
@param array Das zu sortierende Array
@return
Rückgabe des sortierten Arrays
*/
public int[ ]
sort(
int[ ] z)
{
for (
int i=1;
i<z.length;
i++ ) {
int
h
= z [ i ];
int
j
= i;
while(
j>0
&& z[ j-1 ]
> h ) {
z[
j ] = z [
j - 1 ];
j - -;
}
z[
j ] = h;
}
return
z; //Rückgabe
des sortierten Arrays
} //public int[
] sort(int[ ] z)
/** Funktion: Den Inhalt des
1-Dimensionalen Arrays zu einem String zusammenfügen
@return
Der zusammengefügte String
/*
public String toString(
)
{
String s="";
for (
int i=0; i<zahlen.length;
i++ ) {
s=s+zahlen[ i ]+",
";
//sortierte Zahlen zum String hinzufügen + Komma
}
s=s+"\n" );
//Zeilenumbruch zum Schluss hinzufügen
return
s;
//Rückgabe des zusammengefügten Strings
} //public
String toString( )
} //class insert
- Download insert.java
- Download insert.class
|
|
|