Dutch national flag problem: Difference between revisions

Content added Content deleted
(Added Wren)
Line 3,540: Line 3,540:
ENDFUNC
ENDFUNC
</lang>
</lang>

=={{header|Wren}}==
{{libheader|Wren-sort}}
<lang ecmascript>import "random" for Random
import "/sort" for Sort

var colors = ["Red", "White", "Blue"]
var colorMap = { "Red": 0, "White": 1, "Blue": 2 }
var colorCmp = Fn.new { |c1, c2| (colorMap[c1] - colorMap[c2]).sign }
var NUM_BALLS = 9
var r = Random.new()
var balls = List.filled(NUM_BALLS, colors[0])

while (true) {
for (i in 0...NUM_BALLS) balls[i] = colors[r.int(3)]
if (!Sort.isSorted(balls, colorCmp)) break
}

System.print("Before sorting : %(balls)")
Sort.insertion(balls, colorCmp)
System.print("After sorting : %(balls)")</lang>

{{out}}
Sample run:
<pre>
Before sorting : [Blue, Blue, White, Blue, White, Blue, Red, White, White]
After sorting : [Red, White, White, White, White, Blue, Blue, Blue, Blue]
</pre>


=={{header|zkl}}==
=={{header|zkl}}==