Jump to content

Sorting algorithms/Cocktail sort: Difference between revisions

m
Minor edit
m (Bug fix)
m (Minor edit)
Line 545:
if (end == begin)
return;
forbool (endswapped -= sizetrue; ; ) {
for (end -= boolsize; swapped; =) false;{
swapped = false;
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;
swapped = truefalse;
for (char* p = end; p > begin; p -= size) {
char* q = p - size;
if (cmp(q, p) > 0) {
swap(p, q, size);
if ( swapped) {= true;
}
}
}
}
1,777

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.