Jump to content

Sorting algorithms/Strand sort: Difference between revisions

Added 11l
m (→‎{{header|Perl}}: removed deprecated given/when syntax)
(Added 11l)
Line 10:
This is a way of sorting numbers by extracting shorter sequences of already sorted numbers from an unsorted list.
<br><br>
 
=={{header|11l}}==
{{trans|Python}}
 
<lang 11l>F merge_list(&a, &b)
[Int] out
L !a.empty & !b.empty
I a[0] < b[0]
out.append(a.pop(0))
E
out.append(b.pop(0))
out [+]= a
out [+]= b
R out
 
F strand(&a)
V i = 0
V s = [a.pop(0)]
L i < a.len
I a[i] > s.last
s.append(a.pop(i))
E
i++
R s
 
F strand_sort(&a)
V out = strand(&a)
L !a.empty
out = merge_list(&out, &strand(&a))
R out
 
print(strand_sort(&[1, 6, 3, 2, 1, 7, 5, 3]))</lang>
 
{{out}}
<pre>
[1, 1, 2, 3, 3, 5, 6, 7]
</pre>
 
=={{header|AutoHotkey}}==
1,480

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.