Sorting algorithms/Comb sort: Difference between revisions

Added Wren
m (→‎{{header|REXX}}: added/changed comments and whitespace, used a reduced-sized font for the output.)
(Added Wren)
Line 2,729:
<pre>45, 414, 862, 790, 373, 961, 871, 56, 949, 364
45, 56, 364, 373, 414, 790, 862, 871, 949, 961</pre>
 
=={{header|Wren}}==
<lang ecmascript>var combSort = Fn.new { |a|
var gap = a.count
while (true) {
gap = (gap/1.25).floor
if (gap < 1) gap = 1
var i = 0
var swaps = false
while (true) {
if (a[i] > a[i+gap]) {
var t = a[i]
a[i] = a[i+gap]
a[i+gap] = t
swaps = true
}
i = i + 1
if (i + gap >= a.count) break
}
if (gap == 1 && !swaps) return
}
}
 
var as = [ [4, 65, 2, -31, 0, 99, 2, 83, 782, 1], [7, 5, 2, 6, 1, 4, 2, 6, 3] ]
for (a in as) {
System.print("Before: %(a)")
combSort.call(a)
System.print("After : %(a)")
System.print()
}</lang>
 
{{out}}
<pre>
Before: [4, 65, 2, -31, 0, 99, 2, 83, 782, 1]
After : [-31, 0, 1, 2, 2, 4, 65, 83, 99, 782]
 
Before: [7, 5, 2, 6, 1, 4, 2, 6, 3]
After : [1, 2, 2, 3, 4, 5, 6, 6, 7]
</pre>
 
=={{header|zkl}}==
9,482

edits