|
Bubble Sort - C++
|
- 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
#include<iostream.h>
// Funktion: Bubble-Sort, sortieren durch direkten Nachbartausch
// Autor : DG1XPZ
// Sprache : Borland C++ V5.0
void
sort(int
Zahlen[ ]);
int
zahlen[ ] = {9,5,8,6,3,7,4,0,1,2};
/* Zahlenarray*/
int
i,j,a,laenge,h;
void
main(void){
laenge=sizeof(zahlen)/sizeof(zahlen[0]);
cout<<"Unsortiert: ";
for(i=0;i<laenge;i++){
cout<<zahlen[i]<<",";
}
cout<<"\b \n";
sort(zahlen);
cout<<"Sortiert : ";
for(i=0;i<laenge;i++){
cout<<zahlen[i]<<",";
}
cout<<"\b \n";
}
void
sort(int
z[ ]){
for
(i=0;i<laenge-1;i++){
for
(j=1;j<laenge;j++){
if
(z[j-1]>z[j]){
h=z[j-1];
z[j-1]=z[j];
z[j]=h;
}
}
}
}
- Download bubble.zip
|
|
|