|
Bubble Sort - Turbo Pascal
|
- 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
Autor : DG1XPZ
Sprache: Turbo Pascal 7.0 }
program bubble;
type zahlenArray = array[0..9] of integer;
const zahlen: zahlenArray=(9,5,8,6,3,7,4,0,1,2);
procedure sort;
var laenge,i,j,temp: Integer;
begin
laenge:=SizeOf(zahlen) div SizeOf(zahlen[0])-1;
for i:=0 to laenge-1 do
for j:=1 to laenge do
if zahlen[j - 1] > zahlen[j] then
begin
temp:=zahlen[j
- 1];
zahlen[j -
1]:=zahlen[j];
zahlen[j]:=temp;
end;
end;
procedure ausgabe(z: zahlenArray);
var i: Integer;
begin
for i:=0 to (SizeOf(zahlen) div SizeOf(zahlen[0]))-1 do
begin
write(z[i]);
write(',');
end;
write('\b \n');
end;
begin
sort;
writeln('Sortiert:');
ausgabe(zahlen);
end.
- Download bubble.pas
|
|
|