┌─ 소리 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
┌─ 프로그램 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
├─ 재생 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
├─ 조작 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
defcomb_sort(a):
gap =len(a)
swapped =Truewhile gap >1or swapped:
gap =max(1, gap *10//13)
swapped =Falsefor i inrange(len(a)- gap):if a[i]> a[i + gap]:
a[i], a[i + gap]= a[i + gap], a[i]
swapped =True
functioncombSort(a){let gap = a.length;let swapped =true;while(gap >1|| swapped){
gap =Math.max(1,Math.floor((gap *10)/13));
swapped =false;for(let i =0; i + gap < a.length; i++){if(a[i]> a[i + gap]){[a[i], a[i + gap]]=[a[i + gap], a[i]];
swapped =true;}}}}
staticvoidswap(int a[],int i,int j){int t = a[i];
a[i]= a[j];
a[j]= t;}voidcomb_sort(int a[],int n){int gap = n;int swapped =1;while(gap >1|| swapped){
gap = gap *10/13;if(gap <1) gap =1;
swapped =0;for(int i =0; i + gap < n; i++){if(a[i]> a[i + gap]){swap(a, i, i + gap);
swapped =1;}}}}
voidcomb_sort(std::vector<int>& a){
size_t gap = a.size();bool swapped =true;while(gap >1|| swapped){
gap = std::max<size_t>(1, gap *10/13);
swapped =false;for(size_t i =0; i + gap < a.size(); i++){if(a[i]> a[i + gap]){
std::swap(a[i], a[i + gap]);
swapped =true;}}}}
staticvoidCombSort(int[] a){int gap = a.Length;bool swapped =true;while(gap >1|| swapped){
gap =Math.Max(1, gap *10/13);
swapped =false;for(int i =0; i + gap < a.Length; i++){if(a[i]> a[i + gap]){(a[i], a[i + gap])=(a[i + gap], a[i]);
swapped =true;}}}}
staticvoidswap(int[] a,int i,int j){int t = a[i];
a[i]= a[j];
a[j]= t;}staticvoidcombSort(int[] a){int gap = a.length;boolean swapped =true;while(gap >1|| swapped){
gap =Math.max(1, gap *10/13);
swapped =false;for(int i =0; i + gap < a.length; i++){if(a[i]> a[i + gap]){swap(a, i, i + gap);
swapped =true;}}}}