算法-排序2

 1 def quick_sort(ll,start,end):
 2     #quick sort
 3     mid=ll[start]
 4     if start>=end:
 5         return
 6     low=start
 7     high=end
 8     while low <high:
 9         while low <high and ll[high] >mid:
10             high -=1
11         ll[low]=ll[high]
12         while low <high and ll[low] <mid:
13             low +=1
14         ll[high] = ll[low]
15 
16     ll[low]=mid
17     quick_sort(ll,start,low-1)
18     quick_sort(ll,low+1,end)
19     
20 if __name__ =="__main__":
21     ll=[5,6,4,2,11,3,12,15]
22     quick_sort(ll,0,len(ll)-1)
23     print(ll)
1 if __name__ =="__main__":
2     ll=[5,6,4,2,11,3,12,15]
3     quick_sort(ll,0,len(ll)-1)
4     print(ll)

 

 1 def shell_sort(ll):
 2     #step=2
 3     n=len(ll)
 4     gap=n//2
 5     while gap >0:
 6         for i in range(gap,n):
 7             j=i
 8             while j>=gap and ll[j-gap] >ll[j]:
 9                 ll[j-gap] ,ll[j] = ll[j],ll[j-gap]
10                 j -=gap
11         gap =gap//2
1 if __name__ =="__main__":
2     ll=[6,5,4,2,1,4,12,15]
3     shell_sort(ll)
4     print(ll)

 

转载于:https://www.cnblogs.com/Dai-py/p/10831485.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值