June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,21 +1,14 @@
|
|||
function pancakesort!{T<:Real}(a::Array{T,1})
|
||||
len = length(a)
|
||||
if len < 2
|
||||
return a
|
||||
end
|
||||
function pancakesort!(arr::Vector{<:Real})
|
||||
len = length(arr)
|
||||
if len < 2 return arr end
|
||||
for i in len:-1:2
|
||||
j = indmax(a[1:i])
|
||||
i != j || continue
|
||||
a[1:j] = reverse(a[1:j])
|
||||
a[1:i] = reverse(a[1:i])
|
||||
j = indmax(arr[1:i])
|
||||
if i == j continue end
|
||||
arr[1:j] = reverse(arr[1:j])
|
||||
arr[1:i] = reverse(arr[1:i])
|
||||
end
|
||||
return a
|
||||
return arr
|
||||
end
|
||||
|
||||
pancakesort{T<:Real}(a::Array{T,1}) = pancakesort!(copy(a))
|
||||
|
||||
println("Testing a pancake sort.")
|
||||
a = [rand(-100:100) for i in 1:20]
|
||||
println("Pre: ", a)
|
||||
b = pancakesort(a)
|
||||
println("Post: ", b)
|
||||
v = rand(-10:10, 10)
|
||||
println("# unordered: $v\n -> ordered: ", pancakesort!(v))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue