Sort an integer array: Difference between revisions
Content added Content deleted
(Add WDTE.) |
(Add Neko) |
||
Line 1,034: | Line 1,034: | ||
IntArraySort.Sort(arr); |
IntArraySort.Sort(arr); |
||
END ArraySort.</lang> |
END ArraySort.</lang> |
||
=={{header|MUMPS}}== |
=={{header|MUMPS}}== |
||
<lang MUMPS>SORTARRAY(X,SEP) |
<lang MUMPS>SORTARRAY(X,SEP) |
||
Line 1,050: | Line 1,051: | ||
-1,0,1,3,5,16,27,99 |
-1,0,1,3,5,16,27,99 |
||
</pre> |
</pre> |
||
=={{header|Neko}}== |
|||
<lang ActionScript>/** |
|||
<doc><h2>Sort integer array, in Neko</h2> |
|||
<p>Array sort function modified from Haxe codegen with -D neko-source</p> |
|||
<p>The Neko target emits support code for Haxe basics, sort is included</p> |
|||
<p>Tectonics:<br />prompt$ nekoc sort.neko<br />prompt$ neko sort</p> |
|||
</doc> |
|||
**/ |
|||
var sort = function(a) { |
|||
var i = 0; |
|||
var len = $asize(a); |
|||
while ( i < len ) { |
|||
var swap = false; |
|||
var j = 0; |
|||
var max = (len - i) - 1; |
|||
while ( j < max ) { |
|||
if ( (a[j] - a[j + 1]) > 0 ) { |
|||
var tmp = a[j + 1]; |
|||
a[j + 1] = a[j]; |
|||
a[j] = tmp; |
|||
swap = true; |
|||
} |
|||
j += 1; |
|||
} |
|||
if ( $not(swap) ) |
|||
break;; |
|||
i += 1; |
|||
} |
|||
return a; |
|||
} |
|||
var arr = $array(5,3,2,1,4) |
|||
$print(arr, "\n") |
|||
/* Sorts in place */ |
|||
sort(arr) |
|||
$print(arr, "\n") |
|||
/* Also returns the sorted array for chaining */ |
|||
$print(sort($array(3,1,4,1,5,9,2,6,5,3,5,8)), "\n")</lang> |
|||
{{out}} |
|||
<pre>prompt$ nekoc sort.neko |
|||
prompt$ neko sort.n |
|||
[5,3,2,1,4] |
|||
[1,2,3,4,5] |
|||
[1,1,2,3,3,4,5,5,5,6,8,9]</pre> |
|||
=={{header|Nemerle}}== |
=={{header|Nemerle}}== |