Оценка быстродействия методов сортировки, построение гистограммы. - Pascal
Формулировка задачи:
Есть программа которая сортирует одномерный числовой массив 4-мя методами.
Необходимо оценить быстродействие методов сортировки для различных массивов и построить гистограмму зависимости среднего времени сортировки массивов различными методами от размерности массива.
Я так понимаю, что существует какая-то функция, которая измеряет время выполнения процедуры/функции.
Гуру помогите пожалуйста.
П.С.
Если нужна дополнительная информация спрашивайте, я тут новичок.
Решение задачи: «Оценка быстродействия методов сортировки, построение гистограммы.»
textual
Листинг программы
{$N+} uses crt,dos; type massiv=array [1..10000] of integer; var x:massiv; i,n:integer; hour,min,sec,hund:word; t,t1,t2:extended; procedure sort(l,r:integer); var i,j,x1,y1,m: integer; begin i:=l; j:=r; m:=round ((l+r)/2); x1:=x[m]; repeat while x[i]<x1 do inc(i); while x[j]>x1 do dec(j); if i<=j then begin y1:=x[i]; x[i]:=x[j]; x[j]:=y1; inc(i); dec(j); end; until i>j; if l<j then sort(l,j); if i<r then sort(i,r); end; begin clrscr; randomize; write('Введите размер массива не более 10000 n='); readln(n); writeln('Исходный массив:'); for i:=n downto 1 do begin x[i]:={random(50)-10}i; write(x[i],' '); end; writeln; readln; GetTime(hour,min,sec,hund); writeln(hour,':',min,':',sec,':',hund); t1:=sec*100+min*6000+hund; sort(1,n); GetTime(hour,min,sec,hund); writeln(hour,':',min,':',sec,':',hund); t2:=sec*100+min*6000+hund;; t:=t2-t1; writeln; writeln('Массив после сортировки: '); for i:=1 to n do write(x[i],' '); writeln; writeln('t1=',t1:0:20); writeln('t2=',t2:0:20); writeln('t=',t:0:20); readln; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д