你需要知道的九大排序算法Python实现之快速排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你需要知道的九大排序算法Python实现之快速排序相关的知识,希望对你有一定的参考价值。

五、快速排序

  1. 基本思想:  通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。

  2. 算法实现:

?

#coding: utf-8 
#!/usr/bin/python   
import random

#随机生成0~100之间的数值
def get_andomNumber(num):  
    lists=[]  
    i=0  
    while i<num:  
        lists.append(random.randint(0,100))  
        i+=1
    return lists

# 快速排序
def quick_sort(lists, left, right):
    if left >= right:
        return lists
    key = lists[left]
    low = left
    high = right
    while left < right:
        while left < right and lists[right] >= key:
            right -= 1
        lists[left] = lists[right]
        while left < right and lists[left] <= key:
            left += 1
        lists[right] = lists[left]
    lists[right] = key
    quick_sort(lists, low, left - 1)
    quick_sort(lists, left + 1, high)
    return lists


a = get_andomNumber(10)
print("排序之前:%s" %a)

b = quick_sort(a,0,len(a)-1)

print("排序之后:%s" %b)

 

以上是关于你需要知道的九大排序算法Python实现之快速排序的主要内容,如果未能解决你的问题,请参考以下文章

你需要知道的九大排序算法Python实现之堆排序

九大排序算法(Python 语言实现)

九大排序算法及其实现- 插入.冒泡.选择.归并.快速.堆排序.计数.基数.桶排序

C语言实现九大排序算法(建议收藏!)

C语言实现九大排序算法(建议收藏!)

带你整理面试过程中常考的九大排序算法