Sorting algorithms/Comb sort: Difference between revisions
Content added Content deleted
(→{{header|REXX}}: added/changed whitespace and comments.) |
m (→{{header|Sidef}}: minor code simplifications) |
||
Line 1,738: | Line 1,738: | ||
=={{header|Sidef}}== |
=={{header|Sidef}}== |
||
<lang ruby>func |
<lang ruby>func comb_sort(arr) { |
||
var gap = arr.len; |
var gap = arr.len; |
||
var swaps = true; |
var swaps = true; |
||
while (gap > 1 || swaps) { |
while (gap > 1 || swaps) { |
||
gap.div!(1.25).int! if (gap > 1); |
|||
swaps = false; |
swaps = false; |
||
(arr.end - gap).range.each { |i| |
|||
if (arr[i] > arr[i+gap]) { |
if (arr[i] > arr[i+gap]) { |
||
arr[i, i+gap] = arr[i+gap, i]; |
arr[i, i+gap] = arr[i+gap, i]; |
||
Line 1,750: | Line 1,750: | ||
} |
} |
||
} |
} |
||
} |
} |
||
return arr; |
return arr; |
||
} |
}</lang> |
||
=={{header|Swift}}== |
=={{header|Swift}}== |