Bubble Sort

Repeatedly swaps adjacent elements if they are in the wrong order.

Best: O(n) · Avg: O(n²) · Worst: O(n²) · Space: O(1)

97
41
47
93
85
92
15
37
19
70
10
71
16
18
64
Speed5
Size15
TypeScript
function bubbleSort(arr: number[]): number[] {
  const n = arr.length;
  for (let i = 0; i < n - 1; i++) {
    for (let j = 0; j < n - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
      }
    }
  }
  return arr;
}