Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. ## Quicksort
  2.  
  3. def swap(array,i,j):
  4. temp = array[i]
  5. array[i] = array[j]
  6. array[j] = temp
  7.  
  8. def partition(array, start,end):
  9. print('->P(',start,end,')')
  10. x = array[end]
  11. i = start -1
  12. for j in range(start, end):
  13.  
  14. if (array[j] <= x):
  15. print('[', array[j], ' <= ', x, '] ? Y')
  16. i = i+1
  17. swap (array,i,j)
  18. else:
  19. print('[', array[j], ' <= ', x, '] ? N')
  20. swap(array,i+1, end)
  21. print('insert',end,' at k=',i+1, end='')
  22. return i+1
  23.  
  24. def quicksort(array,p,r):
  25. print('\nQ(', p, r, ')', end='')
  26. if p<r:
  27. q = partition(array,p,r)
  28. quicksort(array,p,q-1)
  29. quicksort(array,q+1,r)
  30.  
  31. def main():
  32. unsortedArray = ['dummy',5,4,3,2,1]
  33. quicksort(unsortedArray,1,len(unsortedArray)-1)
  34. print('\n',unsortedArray)
  35.  
  36. if __name__ == '__main__':
  37. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement