Open In App

Bubble Sort - Python

Last Updated : 21 Feb, 2025
Suggest changes
Share
Like Article
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
def bubble_sort(arr): # Outer loop to iterate through the list n times for n in range(len(arr) - 1, 0, -1): # Initialize swapped to track if any swaps occur swapped = False # Inner loop to compare adjacent elements for i in range(n): if arr[i] > arr[i + 1]: # Swap elements if they are in the wrong order arr[i], arr[i + 1] = arr[i + 1], arr[i] # Mark that a swap has occurred swapped = True # If no swaps occurred, the list is already sorted if not swapped: break # Sample list to be sorted arr = [6,6,2] print("Unsorted list is:") print(arr) bubble_sort(arr) print("Sorted list is:") print(arr) 

Output
Unsorted list is: [39, 12, 18, 85, 72, 10, 2, 18] Sorted list is: [2, 10, 12, 18, 18, 39, 72, 85] 

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! 


Next Article

Similar Reads