Comb Sort Python (original) (raw)

Last Updated : 6 Nov, 2025

Comb Sort is an improvement over Bubble Sort that solves its main problem - small values near the end slowing down the sorting. It works by comparing elements far apart using a gap, which keeps reducing until it becomes 1. This allows faster movement of small elements toward the beginning and large elements toward the end.

How Comb Sort Works

  1. **Initialize the gap: Start with a large gap (usually len(arr) / 1.3), where 1.3 is the shrink factor found experimentally.
  2. **Compare and swap: Compare elements that are gap positions apart and swap if they’re out of order.
  3. **Shrink the gap: Reduce the gap by dividing it by 1.3 each pass until it becomes 1.
  4. **Final pass: When the gap is 1, the algorithm behaves like Bubble Sort to finish sorting.

Python Implementation

Python `

def combSort(arr): n = len(arr) gap = n swapped = True

def getNextGap(gap):
    gap = int((gap * 10) / 13)
    return 1 if gap < 1 else gap

while gap != 1 or swapped:
    gap = getNextGap(gap)
    swapped = False

    for i in range(0, n - gap):
        if arr[i] > arr[i + gap]:
            arr[i], arr[i + gap] = arr[i + gap], arr[i]
            swapped = True

arr = [8, 4, 1, 3, -44, 23, -6, 28, 0] combSort(arr)

print(*arr)

`

Output

-44 -6 0 1 3 4 8 23 28

**Explanation: