Sorting algorithms/Insertion sort: Difference between revisions

Content added Content deleted
m (Fixed lang tags.)
(Added Oz.)
Line 388: Line 388:


insertion_sort [6;8;5;9;3;2;1;4;7];;</lang>
insertion_sort [6;8;5;9;3;2;1;4;7];;</lang>

=={{header|Oz}}==
Direct translation of pseudocode. In-place sorting of mutable arrays.
<lang oz>declare
proc {InsertionSort A}
Low = {Array.low A}
High = {Array.high A}
in
for I in Low+1..High do
Value = A.I
J = {NewCell I-1}
in
for while:@J >= Low andthen A.@J > Value do
A.(@J+1) := A.@J
J := @J - 1
end
A.(@J+1) := Value
end
end

Arr = {Tuple.toArray unit(3 1 4 1 5 9 2 6 5)}
in
{InsertionSort Arr}
{Show {Array.toRecord unit Arr}}</lang>


=={{header|Perl}}==
=={{header|Perl}}==