← Sorting

Bubble Sort

Easy
Python
def bubble_sort(arr):
    n=len(arr)
    for i in range(n):
        for j in range(0,n-i-1):
            if arr[j]>arr[j+1]:
                arr[j],arr[j+1]=arr[j+1],arr[j]
    return arr
Java
public int[] bubbleSort(int[] arr){
    int n=arr.length;
    for(int i=0;i<n;i++)
        for(int j=0;j<n-i-1;j++)
            if(arr[j]>arr[j+1]){
                int t=arr[j];arr[j]=arr[j+1];arr[j+1]=t;
            }
    return arr;
}

Key Insight

Classic swap difference. Simultaneous vs temp.

Python → Java Differences

  • Simultaneous swap vs temp
  • len() vs .length
  • Nested loop identical
Python
def bubble_sort(arr):
    n=len(arr)
    for i in range(n):
        for j in range(0,n-i-1):
            if arr[j]>arr[j+1]:
                arr[j],arr[j+1]=arr[j+1],arr[j]
    return arr
Java
public int[] bubbleSort(int[] arr){
    int n=arr.length;
    for(int i=0;i<n;i++)
        for(int j=0;j<n-i-1;j++)
            if(arr[j]>arr[j+1]){
                int t=arr[j];arr[j]=arr[j+1];arr[j+1]=t;
            }
    return arr;
}

Algorithm Steps

1. Compare adjacent
2. Swap if wrong order
3. Largest bubbles to end