Оценка быстродействия методов сортировки, построение гистограммы. - 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы