|   | 
 
 
 
|  
 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
 
 |  | 
    |  |