Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //*************************************************
- // Heap Sort
- //*************************************************
- procedure HeapSort( var t : TabInt );
- var
- i, j, k, l, tmp : integer;
- begin
- GetTime(godz,min,sek,sek100);
- t1 := sek100 + 100*sek + min*6000 + godz*360000;
- for i := 2 to n do
- begin
- j := i;
- k := i div 2;
- tmp := t[i];
- while ( ( k > 0 ) and ( t[k] < tmp ) ) do
- begin
- t[j] := t[k];
- j := k;
- k := j div 2;
- end;
- t[j] := tmp;
- end;
- for i := n downto 2 do
- begin
- swap( t[1], t[i] );
- j := 1;
- k := 2;
- while ( k < i ) do
- begin
- if ( ( k+1 < i ) and ( t[k+1] > t[k] ) ) then
- begin
- l := k + 1;
- end else
- begin
- l := k;
- end;
- if ( t[l] <= t[j] ) then break;
- swap( t[j], t[l] );
- j := l;
- k := 2*j;
- end;
- end;
- GetTime(godz,min,sek,sek100);
- t2 := sek100 + 100*sek + min*6000 + godz*360000;
- ExecuteTime[4] := t2 - t1;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement