Sort disjoint sublist: Difference between revisions

Added Wren
m (added Category:Sorting)
(Added Wren)
Line 2,574:
output:
<pre><7,0,5,4,3,2,1,6></pre>
 
=={{header|Wren}}==
{{libheader|Wren-sort}}
<lang ecmascript>import "/sort" for Sort
 
// sorts values in place, leaves indices unsorted
var sortDisjoint = Fn.new { |values, indices|
var sublist = []
for (ix in indices) sublist.add(values[ix])
Sort.quick(sublist)
var i = 0
var indices2 = Sort.merge(indices)
for (ix in indices2) {
values[ix] = sublist[i]
i = i + 1
}
}
 
var values = [7, 6, 5, 4, 3, 2, 1, 0]
var indices = [6, 1, 7]
System.print("Initial: %(values)")
sortDisjoint.call(values, indices)
System.print("Sorted : %(values)")</lang>
 
{{out}}
<pre>
Initial: [7, 6, 5, 4, 3, 2, 1, 0]
Sorted : [7, 0, 5, 4, 3, 2, 1, 6]
</pre>
 
=={{header|zkl}}==
9,479

edits