Sorting algorithms/Patience sort: Difference between revisions

m
m (syntax highlighting fixup automation)
m (→‎{{header|Wren}}: Minor tidy)
 
(One intermediate revision by one other user not shown)
Line 1,122:
.include "../affichage.inc"
</syntaxhighlight>
 
=={{header|Arturo}}==
<syntaxhighlight lang="arturo">patienceSort: function [arr][
result: new arr
 
if 2 > size result -> return result
 
piles: []
 
loop result 'elem ->
'piles ++ @[@[elem]]
 
loop 0..dec size result 'i [
minP: last piles\0
minPileIndex: 0
 
if 2 =< size piles ->
loop 1..dec size piles 'j [
if minP > last piles\[j] [
minP: last piles\[j]
minPileIndex: j
]
]
 
result\[i]: minP
piles\[minPileIndex]: slice piles\[minPileIndex] 0 dec dec size piles\[minPileIndex]
if zero? size piles\[minPileIndex] ->
piles: remove.index piles minPileIndex
]
return result
]
 
print patienceSort [3 1 2 8 5 7 9 4 6]</syntaxhighlight>
 
{{out}}
 
<pre>1 2 3 4 5 6 7 8 9</pre>
 
=={{header|ATS}}==
Line 6,410 ⟶ 6,447:
{{trans|Kotlin}}
{{libheader|Wren-sort}}
<syntaxhighlight lang="ecmascriptwren">import "./sort" for Cmp
 
var patienceSort = Fn.new { |a|
9,492

edits