Visualization
Step 1 / 15
Speed:
Details
Analogy
ស្រមៃថាការសិតសក់។ ជំនួសឱ្យការប្រើសិតធ្មេញស្តើង អ្នកចាប់ផ្តើមដោយសិតធ្មេញធំ រួចប្រើសិតស្តើងជាបណ្តើរៗ។
Purpose
ដើម្បីតម្រៀបអារេយ៉ាងមានប្រសិទ្ធភាពជាងការតម្រៀបបែបពពុះ ដោយប្រើគម្លាតធំ រួចបន្តបន្ថយគម្លាត។
Use Cases
សមស្របសម្រាប់សំណុំទិន្នន័យទំហំមធ្យម។ ល្អសម្រាប់ប្រព័ន្ធបង្កប់ដែលមានអង្គចងចាំមានកម្រិត។
Algorithm Steps
Line 1
1
function combSort(array):
2
n = length(array)
3
gap = n
4
shrink = 1.3
5
swapped = true
6
while gap > 1 or swapped:
7
gap = floor(gap / shrink)
8
if gap < 1: gap = 1
9
swapped = false
10
for i = 0 to n - gap - 1:
11
if array[i] > array[i + gap]:
12
swap(array[i], array[i + gap])
13
swapped = true
14
return array
Current
Executed
Pending
Explanation
What's Happening?
Step 1/15
អារេដំបូង: [8, 4, 1, 9, 2, 7, 3, 6]។ គម្លាត = 6។
Updates with each step • Clickfor full view
Code Implementation
def comb_sort(arr):
n = len(arr)
gap = n
shrink = 1.3
swapped = True
while gap > 1 or swapped:
gap = int(gap / shrink)
if gap < 1:
gap = 1
swapped = False
for i in range(n - gap):
if arr[i] > arr[i + gap]:
arr[i], arr[i + gap] = arr[i + gap], arr[i]
swapped = True
return arr