Ruby快速排序法

2015-05-02 0 539
Ruby快速排序法
def partition(data, front, back)
  lastS1 = front
  pivot = data[front]
  frontUnknown = front + 1
  
  while frontUnknown <= last do
    if data[frontUnknown] < pivot
      backS1 += 1
      data.swap(frontUnknown, backS1)
    end

    frontUnknown += 1
  end

  data.swap(front, backS1)
  backS1
end


def quicksort(data, front = 0, back = data.size - 1)
  if front < back 
    pivotIndex = partition(data, front, back)
    quicksort(data, front, pivotIndex - 1)
    quicksort(data, pivotIndex + 1, back)
  end
end

遇见资源网 ruby Ruby快速排序法 http://www.ox520.com/16346.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务