|
Selection Sort - Java
|
- Aufgabe
Sortieren durch direkte Auswahl.
Eine einfache Sortiermethode für kleine und da jedes Element nur einmal
bewegt wird auch für sehr große Dateien. Die meiste Zeit wird dafür
benötigt, das kleinste Element zu finden.
Benötigt N²/2 Vergleiche und N Austauschoperationen.
Das kleinste Element wird gesucht und gegen das Element an erster Stelle
ausgetauscht, danach wird das zweitkleinste Element gesucht und gegen das
Element an zweiter Stelle getauscht und fahre so fort bis das gesamte Feld
sortiert ist.
- Struktogramm
- Quellcode
/** Funktion: Selection-Sort, sortieren durch direkte Auswahl
Applikation ohne Oberfläche, läuft in der Dos-Box: "java selection"
@author DG1XPZ
@version JDK131
*/
class selection {
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 ) {
selection s = new
selection
( );
//Instanz von
der Klasse "selection" erzeugen
zahlen=s.sort(
zahlen );
//Feld "zahlen" sortieren
System.out.println(s.toString(
));
//Feld "zahlen" ausgeben
}
/** Funktion: Sortieren
eines Arrays nach der Selection-Sort-Methode
@param array Das zu sortierende
Array
@return
Rückgabe des sortierten Arrays
*/
public int [ ] sort(
int[ ] z)
{
for (
int i=0;
i<z.length-1;
i++ ) {
int
min=i;
for
( int j=i+1;
j<z.length;
j++) {
if
( z[ j ]
< z[ min ] ) {
min=j;
}
}
int temp=z[
min ];
z[
min ] = z [
i ];
z[
i ] = temp;
}
return
z;
} //public int[
] sort(int[ ] z)
/** Funktion: Den Inhalt des 1-Dimensionalen
Arrays zu einem String zusammenfügen
@return
Rückgabe des zusammengefügten Strings
/*
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 selection
- Download selection.java
- Download selection.class
|
|
|