Jump to content

Sorting algorithms/Strand sort: Difference between revisions

solved for maxscript
(jq)
(solved for maxscript)
Line 652:
<pre>StrandSort[{2, 3, 7, 5, 1, 4, 7}]
{1, 2, 3, 4, 5, 7, 7}</pre>
=={{header|MAXScript}}==
<lang MAXScript>fn strandSort arr =
(
arr = deepcopy arr
local sub = #()
local results = #()
while arr.count > 0 do
(
sub = #()
append sub (amax arr)
deleteitem arr (for i in 1 to arr.count where arr[i] == amax arr collect i)[1]
local i = 1
while i <= arr.count do
(
if arr[i] > sub[sub.count] do
(
append sub arr[i]
deleteitem arr i
)
i += 1
)
results = join sub results
)
return results
 
)</lang>
Output:
<lang MAXScript>
a = for i in 1 to 20 collect random 1 40
#(19, 26, 14, 31, 11, 33, 2, 14, 32, 28, 12, 38, 2, 37, 27, 18, 31, 24, 39, 28)
strandSort a
#(2, 2, 11, 12, 14, 14, 18, 19, 24, 26, 27, 28, 28, 31, 31, 32, 33, 37, 38, 39)
</lang>
 
=={{header|NetRexx}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.