program insertion_sort_test_auf_Zeitverhalten; uses crt,dos; const maxN = 5000; var a : array[1..maxN] of word; N : word; procedure insertion_test; var k,l : integer; v : word; begin for k:=2 to N do begin v:=a[k]; l:=k; while a[l-1]>v do begin a[l]:=a[l-1]; l:=l-1; end; a[l]:=v; end; end; procedure lies_words_von_datei(datei : string); var k : integer; dat : file of word; begin k:=0; assign(dat,datei); reset(dat); if not eof(dat) then repeat k:=k+1; read(dat,a[k]); until eof(dat); N:=k; end; procedure print_words(ab : integer); var k : word; begin for k:=ab to N do write(a[k],' '); writeln; writeln('*** ende *** '); end; (*************************** Main **************************) var h,m,s,s1 : word; begin clrscr; writeln(' *** Insertion Sort *** : Test des Zeitverhaltens beim '); writeln(' Sortieren von 5000 Zahlen .'); writeln;writeln; writeln('Jetzt erfolgt das Einlesen der Zahlen . '); lies_words_von_datei('sorting.int'); writeln;writeln; writeln('Fertig ! Jetzt wird sortiert . '); writeln;writeln; gettime(h,m,s,s1); writeln(h, ':' ,m, ':' ,s, '.' ,s1 ); writeln;writeln; insertion_test; gettime(h,m,s,s1); writeln(h, ':' ,m, ':' ,s, '.' ,s1 ); readln; print_words(4800); readln; end.