23 righe
384 B
Julia
23 righe
384 B
Julia
|
|
# given a bitonic sequence b, merge it into a sorted sequence s
|
|
@inbounds function elbowmerge!(s, b)
|
|
n = length(b)
|
|
l = argmin(b)
|
|
r = l == n ? 1 : l + 1
|
|
|
|
i = 1
|
|
while i <= n
|
|
if b[l] < b[r]
|
|
s[i] = b[l]
|
|
l = l == 1 ? n : l - 1
|
|
else
|
|
s[i] = b[r]
|
|
r = r == n ? 1 : r + 1
|
|
end
|
|
i += 1
|
|
end
|
|
nothing
|
|
end
|
|
|
|
|
|
|