首 页
关于美图
网站案例
网站建设
微网站开发
解决方案
建站资讯
400-028-6601
网站建设资讯
为你提供网站建设行业资讯、网站优化知识、主机域名邮箱、网站开发常见问题等。
当前位置:
首页
-
全部资讯
全 部
巴中网站建设
巴中企业网站设计
巴中网站定制开发
巴中网站制作
巴中网站营销推广
巴中小程序开发
python快速排序实现
import random
num_list = []
for x in range(30):
num_list.append(random.randint(1, 500))
list_len = len(num_list)
print(list_len)
def quick_sort(array, begin, end):
# (1) 104, 17, 510,30,100 这是用来说明的例子,请按前面的序号阅读
# i j
if begin < end:
i, j = begin, end
# 设置临时基准
temp = array[i]
# --------------------------------------------
while i < j:
# 如果列表后边的数,比基准数大或相等,j则前移一位,直到出现第一个比基准数小的数
while (i < j) and (array[j] >= temp):
j = j - 1
# 找到后把第j个元素赋值给第i个元素
array[i] = array[j] # (2)100,17,510,30,100 (4)100, 17, 30, 30, 510
# i j i j <-- j
# 若前边的数比基准数小或相等,i则后移一位,直到出现第一个比基准数大的数
while (i < j) and (array[i] <= temp):
i = i + 1
array[j] = array[i] # (3)100,17,510, 30,510 (5) 00,17,30, 30, 510
# i --> i j i-->ij
# ---------------------------------------------
# 做完第一轮while比较之后,list被分成了两个list,且i=j
array[i] = temp # (6)100,17,30,104,510 这是第一轮结束之后的情况.
# ij
# 此时,以第一轮选择的temp为分割点,分成两个list.左边list里的项都比temp小,右边list里的项都比temp大
# 递归前后半区
quick_sort(array, begin, i - 1)
quick_sort(array, j + 1, end)
return array
print("The sorted result is : ")
quick_sort(num_list, 0, len(num_list)-1)
print(num_list)
网页题目:python快速排序实现
URL分享:
http://hnjierui.cn/article/gcdohc.html
其他资讯
阿里云原服务器升级 阿里云服务器可以随时升级吗
go语言限流 go语言使用
天锐绿盾服务器安全 天锐绿盾可以关掉吗
go语言2020年八月 2021年go语言
怎么选择域名和网站 如何选择域名
028-86922220
244261566
回到顶部