# Implementing The Bubble Sort in Python

Note - This tutorial was built on top of Python 3.6

In this tutorial we are going to be taking a quick look at the bubble sort sorting algorithm. This algorithm is another very well known sorting algorithm that is quite often referenced in technical interviews. It is amongst the worst performing sorting algorithm with an average and a worst case sorting complexity of `O(N^2)`.

# How It Works

Bubble sort works by constantly iterating through an unsorted array and swapping values within that array until such times as no swaps are made within a full pass through the array.

# Implementing in Python

Now that we have an appreciation for how the algorithm works, let’s now take a look at how you would go about implementing this in the Python programming language.

 `````` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 `````` ``````# Bubble Sort In Python # # Performance Complexity = O(n^2) # Space Complexity = O(n) def bubbleSort(my_list): # default the swapped variable to true swapped = True # kick off our sorting loop while swapped: # set swapped to false swapped = False # for every element in your list for i in range(len(my_list)-1): # if this element is greater than the next # element if my_list[i] > my_list[i+1]: # swap the values my_list[i], my_list[i+1] = my_list[i+1], my_list[i] # print out that we've swapepd these values print("Swapped: {} with {}".format(my_list[i], my_list[i+1])) # set swapped to true swapped = True # finish up by returning our swapped list return my_list my_list = [8,2,1,3,5,4] print(bubbleSort(my_list))``````

# Output

When we go to run this in our terminal, we should see that it successfully swaps a number of elements in our list until there are no more swaps to do and it will return a sorted list.

 ``````1 2 3 4 5 6 7 8 9 `````` `````` \$ python3.6 bubbleSort.py Swapped: 2 with 8 Swapped: 1 with 8 Swapped: 3 with 8 Swapped: 5 with 8 Swapped: 4 with 8 Swapped: 1 with 2 Swapped: 4 with 5 [1, 2, 3, 4, 5, 8]``````

# Conclusion

Awesome! So, in this tutorial, we looked at how you could successfully implement the Bubble Sort algorithm in Python.

Note - If you found this tutorial useful or require further help then please feel free to let me know in the comments section below!