Sort the letters of string in alphabetical order: Difference between revisions

m
(→‎{{header|F_Sharp|F#}}: Added Turkish)
Line 235:
 
=={{header|Julia}}==
<lang julia>function mergesort!(array, lt = <, low = 1, high = length(array), tmp=similar(array, 0))
high <= low && return array
middle = div(length(array), 2)
middle == 0low &&+ returndiv(high array- low, 2)
(length(tmp) < middle - low + 1) && resize!(tmp, middle - low + 1)
 
mergesort!(@view array[begin:, lt, low, middle], tmp)
mergesort!(@view array[, lt, middle + 1:end], high, tmp)
 
i, j = 1, low
merge!(array[begin:middle], array[middle+1:end], array)
returnwhile arrayj <= middle
tmp[i] += 1array[j]
end
lefti += 1
rightj += 1
end
 
i, k = 1, low
function merge!(arr1, arr2, ret)
left,while right,k i< j <= 1, 1, 1high
if lt(array[j], tmp[i])
while left <= length(arr1) && right <= length(arr2)
if arr1 array[leftk] <= arr2array[rightj]
ret[i]j += arr1[left]1
i += 1
left += 1
else
retarray[ik] = arr2tmp[righti]
i += 1
right += 1
end
k += 1
end
 
ifwhile leftk <= length(arr1)j
retarray[i:endk] .= arr1tmp[left:endi]
end k += 1
if right < i += length(arr2)1
ret[i:end] .= arr2[right:end]
end
return array
end
 
mergesort(arrstr::String) = String(mergesort!(deepcopycollect(arrstr)))
mergesort(str::String) = String(mergesort(collect(str)))
 
function testmergesort(s::String, stripws= true)
4,105

edits