Sorting algorithms/Heapsort: Difference between revisions
Content added Content deleted
(Add task to ARM assembly Raspberry pi) |
m (→{{header|E}}) |
||
Line 1,406: | Line 1,406: | ||
} |
} |
||
}</lang> |
}</lang> |
||
=={{header|Easyprog.online}}== |
|||
<lang easyprog.online>subr make_heap |
|||
for i = 1 to n - 1 |
|||
if data[i] > data[(i - 1) / 2] |
|||
j = i |
|||
while data[j] > data[(j - 1) / 2] |
|||
swap data[j] data[(j - 1) / 2] |
|||
j = (j - 1) / 2 |
|||
. |
|||
. |
|||
. |
|||
. |
|||
subr sort |
|||
n = len data[] |
|||
call make_heap |
|||
for i = n - 1 downto 1 |
|||
swap data[0] data[i] |
|||
j = 0 |
|||
ind = 1 |
|||
while ind < i |
|||
if ind + 1 < i and data[ind + 1] > data[ind] |
|||
ind += 1 |
|||
. |
|||
if data[j] < data[ind] |
|||
swap data[j] data[ind] |
|||
. |
|||
j = ind |
|||
ind = 2 * j + 1 |
|||
. |
|||
. |
|||
. |
|||
data[] = [ 29 4 72 44 55 26 27 77 92 5 ] |
|||
call sort |
|||
print data[]</lang> |
|||
=={{header|EchoLisp}}== |
=={{header|EchoLisp}}== |