快速排序(python)

来源:互联网 发布:数据库设计原则 范式 编辑:程序博客网 时间:2024/06/05 11:44

代码:

def median(nums):  nums = quicks(nums)  if len(nums) % 2 != 0:    return nums[len(nums) / 2]  else:    return (nums[len(nums) / 2] + nums[len(nums) / 2 - 1]) * 1.0 / 2def quicksort(nums, left, right):    if left >= right:        return nums    key = nums[right]    idx = left    for i in range(left, right):        if nums[i] < key:            nums[idx], nums[i] = nums[i], nums[idx]            idx += 1    nums[idx], nums[right] = nums[right], nums[idx]    nums = quicksort(nums, left, idx - 1)    nums = quicksort(nums, idx + 1, right)    return numsdef quicks(nums):    nums = quicksort(nums, 0, len(nums) - 1)    return numsnum = [4, 6, 8, 7, 7, 6]num = quicksort(num, 0, len(num) - 1)print numprint median(num)

运行结果:
这里写图片描述

原创粉丝点击