Open In App

Bubble Sort - Python

Last Updated : 25 Oct, 2025
Comments
Improve
Suggest changes
81 Likes
Like
Report

Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in the wrong order. 

  • Bubble Sort algorithm, sorts an array by repeatedly comparing adjacent elements and swapping them if they are in the wrong order.
  • The algorithm iterates through the array multiple times, with each pass pushing the largest unsorted element to its correct position at the end.
  • Code includes an optimization: if no swaps are made during a pass, the array is already sorted, and the sorting process stops.

Below is the Python Implementation of Bubble Sort:

Python
# Optimized Python program for implementation of Bubble Sort
def bubbleSort(arr):
    n = len(arr)
    
    # Traverse through all array elements
    for i in range(n):
        swapped = False

        # Last i elements are already in place
        for j in range(0, n-i-1):

            # Traverse the array from 0 to n-i-1
            # Swap if the element found is greater
            # than the next element
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
                swapped = True
        if (swapped == False):
            break

# Driver code to test above
if __name__ == "__main__":
    arr = [64, 34, 25, 12, 22, 11, 90]

    bubbleSort(arr)

    print("Sorted array:")
    for i in range(len(arr)):
        print("%d" % arr[i], end=" ")

Output
Sorted array:
11 12 22 25 34 64 90 

Time Complexity:  O(n2). However in practice, this optimized version might take less time as when array gets sorted, function would return.
Auxiliary Space: O(1).

Please refer complete article on Bubble Sort for more details! 


Explore