Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def compare(data, a, b):
- """Returns True if element at index a > element at index b"""
- return data[a] > data[b]
- def swap(data, a, b):
- """Swaps the element at index a with element at index b"""
- data[a], data[b] = data[b], data[a]
- def bubble_sort(data):
- n = len( data )
- count = 0
- swaps = 0
- for i in range( n - 1, 0, -1 ):
- for j in range( i ) :
- count +=1
- if compare(data, j, j+1) :
- swap(data, j, j+1)
- swaps +=1
- return n,count,swaps
- def bubble_sort_fast(data):
- n = len(data)
- count = 0
- swaps = 0
- for i in range( n - 1, 0, -1 ):
- if data == sorted(data):
- count +=1
- else:
- for j in range( i ) :
- count +=1
- if compare(data, j, j+1) :
- swap(data, j, j+1)
- swaps +=1
- return n,count,swaps
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement