|
Bubble Sort - Java
|
- Aufgabe
Sortieren durch Tauschen von zwei nebeneinander liegenden Elementen.
Obwohl Bubble-Sort eine Abart von Selection-Sort ist, werden mehr
Tauschvorgänge durchgeführt um jedes Element an seinen Platz zu bringen.
Benötigt N²/2 Vergleiche und N²/2 Austauschoperationen.
Die ersten beiden Elemente werden verglichen. Ist das zweite Element kleiner,
werden die Elemente getauscht. (2,7),1,5,6,...
Dann werden die nächsten beiden Elemente
verglichen bis zum Ende. 2,(7,1),5,6
Danach beginnt die Prozedur von vorne bis keine Elemente mehr getauscht werden
müssen.
- Struktogramm
- Quellcode
/*
Funktion: Bubble-Sort, Sortieren durch direkten Nachbartausch
Applikation ohne Oberfläche, läuft in der Dos-Box: "java bubble"
@author DG1XPZ
@version JDK 131
*/
class bubble {
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 ) {
bubble b = new bubble( );
//Instanz von
der Klasse "bubble" erzeugen
zahlen=b.sort(
zahlen );
//Feld "zahlen" sortieren
System.out.println(b.toString(
)); //Feld "zahlen" ausgeben
}
/** Funktion: Sortieren eines Arrays nach der Bubble-Sort-Methode
@param array Das zu sortierende 1-Dimensionale Array
@return Rückgabe des sortierten Arrays
*/
public int[ ]
sort(
int[ ] z)
{
for (
int i=0;
i<z.length-1;
i++ ) {
for
( int j=1;
j<z.length;
j++) {
if
( z[ j -
1 ]
> z[ j ] ) {
int temp=z[
j - 1 ]; //
z[j-1] mit z[j]
tauschen
z[ j - 1 ] = z[
j ];
// -"-
z[ j ] = temp;
// -"-
}
}
}
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 hinzufügen
return
s;
//Rückgabe des zusammengefügten Strings
} //public
String toString( )
} //class bubble
- Download bubble.java
- Download bubble.class
|
|
|