Advertisement
Vikis

quick_sort

Nov 19th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.88 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.     """Sort list of items using quick sort algoritthm.
  17.     This is iterative implementation of quick sort algoritm
  18.     """
  19.     stack = []
  20.     stack.append(start)
  21.     stack.append(end)
  22.     while  stack:
  23.         end = stack.pop()
  24.         start = stack.pop()
  25.         S = split(lst, start, end)
  26.         if s - 1 > start:
  27.             stack.append(start)
  28.             stack.append(s - 1)
  29.             if S + 1 <end:
  30.                 stack.append(s + 1)
  31.                 stack.append(end)
  32.                 quick_sort(lst, 0, len(lst - 1))
  33.                 print("Output list {}". format(lst))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement