Bubble sort is the simplest sorting algorithm in computer science. Bubble sort performs the sorting process by swapping adjacent elements if they’re not in the desired (ascending or descending) order. This process repeats from the beginning of the list of elements until all elements are in order.

In order to understand the sorting process, let’s go through this explanation picture.

The array contains five-element and we are using the Bubble sort to perform the sorting in ascending order. As you can see, in each iteration, we are checking if the adjacent elements are in order. We are checking the left side element is greater than the right side element and if they are, we are swapping them. After doing all the swaps, in the end we get the sorted array.

Let’s implement it in Python.

## Bubble Sort in Python

Here is the sample code, please do copy it and paste it into the file naming **bubble.py**.

n = len(array)

# first loop to iterate through the array from 0th element

for i in range(n):

# flag to terminate the process if there is nothing left to sort

already_sorted = True

# Second loop to check the adjacent element

for j in range(n - i - 1):

if array[j] > array[j + 1]:

# swap the elements

array[j], array[j + 1] = array[j + 1], array[j]

already_sorted = False

if already_sorted:

break

return array

#call the function

array = [123,4,87,39,1]

sortedArray = bubble_sort(array)

print(sortedArray)

You should be getting the following response.

Let us know if you have any doubts.