def insertSort(left=[],arr)
return left unless (x=arr.pop)
left.each_with_index do |l,i|
if l>x
left.insert i,x
return insertSort left,arr
end
end
left.push x
return insertSort left,arr
end
arr=[]
arrE=(1..10000).to_a
10000.times do |t|
tmp=rand(arrE.count)
arr.push (arrE.delete_at tmp)
end
puts (insertSort arr)
数组数量小于 900 没问题,大于 900 就会报 stack level too deep (SystemStackError) 大神帮看看什么问题