Vikis

quick_sort_rev

Nov 19th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.73 KB | None | 0 0
  1. #!/usr/bin/python3
  2. import random
  3. lst = random.sample(range(1,100),10)
  4. print("Imput list:{}".format(lst))
  5. def split(lst, start, end):
  6.  #Splits list into two parts.
  7.  i = start - 1
  8.  spliter = lst[end]
  9.     for j in range(start, end):
  10.     if lst[j] <= spliter:
  11.         i = i + 1
  12.         lst[i], lst[j] = lst[j], lst[i]
  13.         lst[i+1], st[end] = lst[end], lst[i+1]
  14.         return i + 1
  15. def quick_sort(lst, start, end)
  16.   """sorts list using quick sort algoritm.
  17.  This is recursive
  18.  """
  19.   if start < end:
  20.     s = split(lst, start, end)
  21.     quick_sort(lst, start, S - 1)
  22.     quick_sort(lst, s + 1, end)
  23.    
  24.     quick_sort(lst, 0, len(lst - 1))
  25.  
  26.      """ reversive list in sort"""
  27.      
  28.       lst.reverse()
  29.  
  30.     print("Output list {}". format(lst))
Add Comment
Please, Sign In to add comment