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)