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 seperator line. */
say copies('─',80) /*show a separator line. */
return</lang>
return</lang>
{{out}}
{{out}}