program bubble_sort_test; (* Sortieren von 5000 word's *) uses crt,dos; const maxN = 5000; var a : array[1..maxN] of word; N : integer; procedure bubble; var k,l : integer; t : word; begin for k:=N downto 1 do for l:=2 to k do if a[l-1]>a[l] then begin t:=a[l-1]; a[l-1]:=a[l]; a[l]:=t; end; end; procedure read_array_von_datei( datei :string); var dat : file of word; i : integer; begin assign(dat,datei); reset(dat); i:=0; if not eof(dat) then repeat i:=i+1; read(dat,a[i]); until eof(dat); N:=i; close(dat); end; procedure print_array(ab : integer); var k:integer; begin for k:=ab to N do write(a[k],' '); writeln('*** ende *** '); end; var h,m,s,s1 : word; begin clrscr; writeln(' *** Bubble Sort : Test auf Zeitverhalten *** '); writeln;writeln; writeln('Jetzt werden die 5000 Zahlen eingelesen . '); writeln;writeln; read_array_von_datei('sorting.int'); N:=3000; clrscr; writeln('Fertig . Jetzt erfolgt das Sortieren ! '); writeln; gettime(h,m,s,s1); writeln('Anfang : ',h, ':' ,m, ':' ,s, '.' ,s1 ); bubble; writeln; gettime(h,m,s,s1); writeln('Ende : ',h, ':' ,m, ':' ,s, '.' ,s1 ); writeln; print_array(N-150+1); readln; end.