Comb Sort Algorithm in Python

In this source code example, we will write a code to implement the Comb Sort algorithm in Python.

Comb sort improves on the bubble sort algorithm. In bubble sort, the distance (or gap) between two compared elements is always one. Comb sort improvement is that gap can be much more than 1, in order to prevent slowing down by small values at the end of a list.

Comb Sort Algorithm in Python

In this Python program, we will take input from the User or console and print the result to the output:
def comb_sort(data: list) -> list: shrink_factor = 1.3 gap = len(data) completed = False while not completed: # Update the gap value for a next comb gap = int(gap / shrink_factor) if gap <= 1: completed = True index = 0 while index + gap < len(data): if data[index] > data[index + gap]: # Swap values data[index], data[index + gap] = data[index + gap], data[index] completed = False index += 1 return data if __name__ == "__main__": import doctest doctest.testmod() user_input = input("Enter numbers separated by a comma:\n").strip() unsorted = [int(item) for item in user_input.split(",")] print(comb_sort(unsorted)) 

Output:

Enter numbers separated by a comma: 20, 5, 10, 15, 2, 1 [1, 2, 5, 10, 15, 20]

Comments