Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. def compare(data, a, b):
  2. """Returns True if element at index a > element at index b"""
  3. return data[a] > data[b]
  4.  
  5. def swap(data, a, b):
  6. """Swaps the element at index a with element at index b"""
  7. data[a], data[b] = data[b], data[a]
  8.  
  9. def bubble_sort(data):
  10. n = len( data )
  11. count = 0
  12. swaps = 0
  13. for i in range( n - 1, 0, -1 ):
  14. for j in range( i ) :
  15. count +=1
  16. if compare(data, j, j+1) :
  17. swap(data, j, j+1)
  18. swaps +=1
  19. return n,count,swaps
  20. def bubble_sort_fast(data):
  21. n = len(data)
  22. count = 0
  23. swaps = 0
  24. for i in range( n - 1, 0, -1 ):
  25. if data == sorted(data):
  26. count +=1
  27. else:
  28. for j in range( i ) :
  29. count +=1
  30. if compare(data, j, j+1) :
  31. swap(data, j, j+1)
  32. swaps +=1
  33.  
  34. return n,count,swaps
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement