program selection_sort_test_auf_Zeitverhalten; uses crt,dos; const maxN = 5000; var a : array[1..maxN] of word; N,i : word; procedure selection_test; var k,l,min,t : word; begin for k:=1 to N-1 do begin min:=k; for l:=k+1 to n do if a[l]<a[min] then min:=l; t:=a[min]; a[min]:=a[k]; a[k]:=t; 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 : word); var k : word; begin for k:=ab to N do write(a[k],' '); writeln('*** ende ***'); end; (***************************** Main *************************) var h,m,s,s1 : word; begin clrscr; writeln(' *** Selection Sort *** : Test auf Zeitverhalten beim '); writeln(' Sortieren von 5000 Zahlen . '); writeln;writeln; writeln('Jetzt werden die Zahlen eingelesen .'); writeln;writeln; lies_words_von_datei('sorting.int'); writeln('Fertig ! Jetzt wird sortiert . '); writeln;writeln; gettime(h,m,s,s1); writeln(h, ':' ,m, ':' ,s, '.' ,s1); writeln;writeln; selection_test; gettime(h,m,s,s1); writeln(h, ':' ,m, ':' ,s, '.' ,s1); writeln;writeln; readln; print_words(4800); readln; end.