Sorting algorithms/Counting sort: Difference between revisions

Content added Content deleted
m (→‎version 1: added whitespace, changed comments and indentations.)
m (→‎version 1: changed DO loop structure.)
Line 1,509: Line 1,509:
countSort: procedure expose @.; parse arg N; h=@.1; L=h
countSort: procedure expose @.; parse arg N; h=@.1; L=h


do i=2 to N; L=min(L,@.i); h=max(h,@.i)
do i=2 to N; L=min(L,@.i); h=max(h,@.i); end /*i*/
end /*i*/


_.=0; do j=1 for N; x=@.j; _.x=_.x+1
_.=0; do j=1 for N; x=@.j; _.x=_.x+1; end /*j*/
end /*j*/


x=1; do k=L to h; if _.k\==0 then do x=x for _.k
x=1; do k=L to h; if _.k\==0 then do x=x for _.k
Line 1,576: Line 1,574:
element 39 before sort: 78
element 39 before sort: 78
element 40 before sort: 38
element 40 before sort: 38
──────────────────────────────────────────────────
────────────────────────────────────────
element 1 after sort: 1
element 1 after sort: 1
element 2 after sort: 2
element 2 after sort: 2
Line 1,617: Line 1,615:
element 39 after sort: 113
element 39 after sort: 113
element 40 after sort: 114
element 40 after sort: 114
──────────────────────────────────────────────────
────────────────────────────────────────
</pre>
</pre>