June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -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))