In this post, I provide a code that performs a bubble sort in python. Before using, I recommend checking the indentations, as this code was written in a standard text-editor. This python bubble-sort algorithm should be fine, though. This python algorithm was written using the example output in Reference 1. One can compare the output of this program to the content on that page, to confirm that this code is working as expected.

PYTHON BUBBLE SORT ALGORITHM:

x = [5,1,4,2,8]

def bubble_sort(a):

sorted_list = []

for index,value in enumerate(a):

sorted_list.append(value)

counter = 0

number_of_comparisons  = 0

number_of_swaps = 0

for index, value in enumerate(a):

if index != len(a) – 1:

number_of_comparisons = number_of_comparisons + 1

if value > a[index+1]:

number_of_swaps = number_of_swaps + 1

sorted_list[index] = a[index+1]

sorted_list[index+1] = value

print(“sorted list”, sorted_list, “counter”,counter)

return sorted_list,1,number_of_comparisons,number_of_swaps

print(“array is sorted!”,sorted_list)

return sorted_list,0,number_of_comparisons,number_of_swaps

total_number_of_comparisons = 0

total_number_of_swaps = 0

output = x

my_variable = 1 # not sorted, 0 means sorted

while my_variable != 0:

output,my_variable,number_of_comparisons ,number_of_swaps= bubble_sort(output)

total_number_of_comparisons = total_number_of_comparisons+number_of_comparisons

total_number_of_swaps = total_number_of_swaps + number_of_swaps

print(“total number of comparisons”, total_number_of_comparisons)

print(“total number of swaps”, total_number_of_swaps)

References:

[1] https://www.geeksforgeeks.org/bubble-sort/