nums = [5,1,4,2,8,3]expected [1,2,3,4,5,8]

Loading 3D view…

Unsorted input

step 1 / 108

Solution

TypeScript · line 1
function bubbleSort(nums: number[]): number[] {
  const a = [...nums];
  for (let end = a.length - 1; end > 0; end--) {
    let swapped = false;
    for (let i = 0; i < end; i++) {
      if (a[i] > a[i + 1]) {
        [a[i], a[i + 1]] = [a[i + 1], a[i]];
        swapped = true;
      }
    }
    if (!swapped) {
      break;
    }
  }
  return a;
}