Comb Sort: বাবল সোর্টের উন্নত রূপ। গ্যাপ (gap) ব্যবহার করে দূরত্বের এলিমেন্ট তুলনা করে। গ্যাপ = n / 1.3 (শ্রিংক ফ্যাক্টর)। প্রতি ইটারেশনে গ্যাপ কমায়।
উদাহরণ
#include <iostream>
using namespace std;
void combsort(int a[], int n) {
int gap = n, swapped = 1;
while (gap > 1 || swapped) {
gap = gap * 10 / 13;
if (gap == 9 || gap == 10) gap = 11;
if (gap < 1) gap = 1;
swapped = 0;
for (int i = 0, j = gap; j < n; i++, j++)
if (a[i] > a[j]) { swap(a[i], a[j]); swapped = 1; }
}
}
int main() {
int arr[] = {5,3,4,2,1};
combsort(arr, 5);
for (int x : arr) cout << x << "\t";
return 0;
}
আউটপুট
1 2 3 4 5