└── Bubble_Sort.py /Bubble_Sort.py: -------------------------------------------------------------------------------- 1 | def bubble_sort(array): 2 | count = 0 3 | for i in range(len(array)-1): 4 | print(array) 5 | for j in range(len(array)-i-1): 6 | count += 1 7 | if array[j] > array[j+1]: 8 | array[j], array[j+1] = array[j+1], array[j] 9 | return (f'{array} \nNumber of comparisons = {count}') 10 | 11 | array = [5,9,3,10,45,2,0] 12 | print(bubble_sort(array)) 13 | 14 | 15 | 16 | 17 | sorted_array = [5,6,7,8,9] 18 | print(bubble_sort(sorted_array)) 19 | 20 | def optimized_bubble_sort(array): 21 | count = 0 22 | for i in range(len(array) - 1): 23 | swap = False 24 | print(array) 25 | for j in range(len(array) - i - 1): 26 | count += 1 27 | if array[j] > array[j+1]: 28 | array[j], array[j+1] = array[j+1], array[j] 29 | swap = True 30 | if swap==False: 31 | return (f'{array} \nNumber of comparisons = {count}') 32 | return (f'{array} \nNumber of comparisons = {count}') 33 | 34 | 35 | array1 = [5,9,3,10,45,2,0] 36 | print(optimized_bubble_sort(array1)) 37 | 38 | 39 | 40 | 41 | sorted_array1 = [5,6,7,8,9] 42 | print(optimized_bubble_sort(sorted_array1)) 43 | 44 | --------------------------------------------------------------------------------