Sorting algorithms/Cocktail sort: Difference between revisions
m
Minor edit
m (Bug fix) |
m (Minor edit) |
||
Line 545:
if (end == begin)
return;
for (end -=
for (char* p = begin; p < end; p += size) {
char* q = p + size;
Line 552 ⟶ 553:
swap(p, q, size);
swapped = true;
}▼
}▼
if (swapped) {▼
▲ swapped = false;
for (char* p = end; p > begin; p -= size) {▼
char* q = p - size;▼
if (cmp(q, p) > 0) {▼
swap(p, q, size);▼
swapped = true;▼
}
}
if (!swapped)
break;
▲ }
▲ }
}
}
|