Sorting algorithms/Heapsort: Difference between revisions
Content added Content deleted
mNo edit summary |
m (→{{header|REXX}}: corrected a misspelling. -- ~~~~) |
||
Line 1,872: | Line 1,872: | ||
=={{header|REXX}}== |
=={{header|REXX}}== |
||
<lang rexx>/*REXX program sorts an array using the heapsort method. */ |
<lang rexx>/*REXX program sorts an array using the heapsort method. */ |
||
call gen@ /*generate array elements. */ |
call gen@ /*generate array elements. */ |
||
call show@ 'before sort' /*show before array elements*/ |
call show@ 'before sort' /*show before array elements*/ |
||
Line 1,878: | Line 1,877: | ||
call show@ ' after sort' /*show after array elements*/ |
call show@ ' after sort' /*show after array elements*/ |
||
exit |
exit |
||
/*─────────────────────────────────────HEAPSORT subroutine─────────*/ |
/*─────────────────────────────────────HEAPSORT subroutine─────────*/ |
||
heapSort: procedure expose @.; parse arg n |
heapSort: procedure expose @.; parse arg n |
||
Line 1,892: | Line 1,889: | ||
return |
return |
||
/*─────────────────────────────────────SHUFFLE subroutine──────────*/ |
/*─────────────────────────────────────SHUFFLE subroutine──────────*/ |
||
shuffle: procedure expose @.; parse arg i,n; _=@.i |
shuffle: procedure expose @.; parse arg i,n; _=@.i |
||
Line 1,906: | Line 1,901: | ||
@.i=_ |
@.i=_ |
||
return |
return |
||
/*─────────────────────────────────────GEN@ subroutine─────────────*/ |
/*─────────────────────────────────────GEN@ subroutine─────────────*/ |
||
gen@: @.='' /*assign default value. */ |
gen@: @.='' /*assign default value. */ |
||
@.1 ='---letters of the modern Greek Alphabet---' |
@.1 ='---letters of the modern Greek Alphabet---' |
||
@.2 ='==========================================' |
@.2 ='==========================================' |
||
Line 1,943: | Line 1,935: | ||
highItem=highItem-1 /*adjust highItem slightly. */ |
highItem=highItem-1 /*adjust highItem slightly. */ |
||
return |
return |
||
/*─────────────────────────────────────SHOW@ subroutine────────────*/ |
/*─────────────────────────────────────SHOW@ subroutine────────────*/ |
||
show@: widthH=length(highItem) /*maximum width of any line.*/ |
show@: widthH=length(highItem) /*maximum width of any line.*/ |
||
Line 1,952: | Line 1,942: | ||
end |
end |
||
say copies('─',80) /*show a |
say copies('─',80) /*show a separator line. */ |
||
return</lang> |
return</lang> |
||
{{out}} |
{{out}} |