|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 1839 (0x72f)
Types: TextFile
Names: »V«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
package Hpsort is
-- TITLE: HEAP SORT PERFORMANCE TEST
-- PURPOSE: THIS IS THE ADA VERSION OF THE HEAP SORT ALGORITHM
-- SUPPLIED BY THE SANTA TERSA LAB FOR PERFORMANCE TESTING.
-- THIS ALGORITHM IS BEING WRITTEN IN ADA, PASCAL AND
-- ASSEMBLER AND THEN COMPARED WITH RESPECT TO EXECUTION
-- TIME AND STORAGE USAGE.
-- DESCRIPTION: THIS HEAP SORT PUTS THE SMALLEST VALUE IN THE FIRST
-- ELEMENT OF THE INPUT ARRAY.
-- THIS HEAP SORT ALGORITHM IS DIVIDED INTO TWO PARTS.
-- THE FIRST PART IS TO TAKE TRANSPOSE THE INPUT ARRAY
-- INTO A HEAP; I.E.
-- HEAP(I) >= HEAP(2I) AND HEAP(I) >= HEAP(2I+1)
-- THE LARGEST ELEMENT IS ALWAYS THE FIRST ELEMENT IN THE
-- HEAP AT THE COMPLETION OF THE FIRST PART OF THE
-- ALGORITHM.
--
-- THE SECOND PART PART OF THE ALGORITHM SIFTS THE
-- HEAP BY TAKING THE FIRST ELEMENT WHICH IS THE LARGEST
-- AND PUTTING IT AT THE END OF THE ARRAY. THE REMAINING
-- ELEMENTS ARE SIFTED TO PUT THE LARGEST ELEMENT AT THE
-- FRONT OF THE ARRAY. THE FIRST ELEMENT IS AGAIN MOVED
-- TO THE BACK OF THE ARRAY AND THE REMAINING ELEMENTS
-- ARE SIFTED TO FIND THE LARGEST REMAINING ELEMENT. THIS
-- IS REPEATED UNTIL THERE IS JUST ONE ELEMENT LEFT.
subtype Small_Int is Integer range -16370 .. 16370;
subtype Pos_Int is Integer range 0 .. 100;
type Heap_Array is array (Pos_Int) of Small_Int;
procedure Heapsort (Heap : in out Heap_Array;
Heapsize : in Pos_Int);
end Hpsort;