• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python小程序——快排算法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 1 def Partition(list,p,q):
 2     #这里是用来分块的算法。
 3     x = list[p]
 4     i = p
 5     for j in range(p+1,q+1): #注意range是顾前不顾后的,所以后面的区间值要大一位
 6         if list[j]<x:
 7             i+=1
 8             list[i],list[j] = list[j],list[i]
 9 
10     list[p], list[i] = list[i], list[p]
11     return i
12 
13 
14 def Quicksort(List,left,right):
15     if left<right:
16         r = Partition(List,left,right)
17         Quicksort(List,left,r-1)
18         Quicksort(List,r+1,right)
19 
20 
21 def main(Out_list):
22     #外部接口
23     Out_list_left =0
24     Out_list_right = len(Out_list)-1
25     Quicksort(Out_list,Out_list_left,Out_list_right)
26     return Out_list
27 
28 if __name__ =="__main__":
29     A = [32,34,21,45,666,213,41,23,78,64,36,83,18,41,332,6466,432]
30     A_left = 0
31     A_right = len(A)-1
32     print(A_right)
33     Quicksort(A,A_left,A_right)
34     print(A)

非常简单的算法。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序限制使用eval的原因发布时间:2022-07-18
下一篇:
小程序2:冒泡排序发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap