Anonymous user
Sorting algorithms/Heapsort: Difference between revisions
BBC BASIC: No reason to limit the sort to integers.
(Added BBC BASIC) |
(BBC BASIC: No reason to limit the sort to integers.) |
||
Line 195:
=={{header|BBC BASIC}}==
<lang bbcbasic> DIM test
test
PROCheapsort(test
FOR i% = 0 TO 9
PRINT test
NEXT
PRINT
END
DEF PROCheapsort(a
LOCAL e%
PROCheapify(a
FOR e% = DIM(a
SWAP a
PROCsiftdown(a
NEXT
ENDPROC
DEF PROCheapify(a
LOCAL s%, m%
m% = DIM(a
FOR s% = (m% - 1) / 2 TO 0 STEP -1
PROCsiftdown(a
NEXT
ENDPROC
DEF PROCsiftdown(a
LOCAL c%, r%
r% = s%
WHILE r% * 2 + 1 <= e%
c% = r% * 2 + 1
IF c% + 1 <= e% IF a
IF a
ENDWHILE
ENDPROC</lang>
|